タグ

Testに関するkoba04のブックマーク (79)

  • Jenkins はじめました + ほか3つ - mixi engineer blog

    こんにちは。加藤和良です。 まずあの話を書いて、それを前提にあの話を書いて、みたいなキューが筆者の中にはあったのですが、正直キューの先端につまってる話はだんだん個人的な関心および記憶がうすれてきました! 昔のはなしですからね。 というわけで、最近のまとめをさらっと書いて、新しいネタをすぐ書ける状態にリセットしたいと思います。 Jenkins mixi ではバージョン管理システムとして Subversion を使っています。安定した、いつでもリリースできるバージョンを trunk に、開発中の機能は branches 以下に作業ブランチをつくり、レビューや QA などの後に trunk にマージする、という運用です。 Buildbot はこのうち trunk だけを追っていたのですが、徐々に「このブランチBuildbot で追うようにして、結果をこの IRC チャンネルに書きこんでほしい

    Jenkins はじめました + ほか3つ - mixi engineer blog
  • テスト駆動開発のすすめ - Perl日誌

    hachiojipmに行ってきたのですが#4でも#5でもTestを書くのが難しいという声が聞こえたので「テストは書いてみると簡単」「テストがあると開発が楽」という事を伝えてみようと努力する試みです。 ということでサンプルコードを書いてみました。 https://github.com/okamuuu/Sample-Plack-Test 紹介するサンプルコードについて ここで紹介しているスクリプトはある男がBlogを作ろうと思ったがどうせたいしたことしないので俺俺WaFをつくってやろうとして実際にやったテスト駆動開発です。 おもむろにt/web.tとかつくってみる 最初にテストを書いてみましょう。 #!/usr/bin/env perl use strict; use warnings; use Test::Most; use Plack::Test; use HTTP::Request::C

    テスト駆動開発のすすめ - Perl日誌
    koba04
    koba04 2011/06/02
    わかりやすい!
  • JavaScriptでEventまわりのコードをテストする時のアレ - 愛と勇気と缶ビール

    addEventListenerのラッパとか、書くじゃないですか。 iPhoneAndroidでswipe event的なものを用意するために、DOMContentLoaded呼ばれたときにbindしておいてevent delegation使ってほむほむするコードも書くじゃないですか。 で、そいつらをテストするコードも書くじゃないですか。 直接画面をタッチ/クリックして動作確認するのももちろん必要だけど、まずは自動テスト書くじゃないですか。 で、そん時にはまあこういう関数を適当に用意して、自家発電すると思うんだけど function emit(el, event) { var e = document.createEvent("Event"); e.initEvent(event, true, true); el.dispatchEvent(e); } 当たり前田のクラッカーですが、こう

    JavaScriptでEventまわりのコードをテストする時のアレ - 愛と勇気と缶ビール
  • Smart::Commentsでモジュールにサンプルコードを仕込む - Islands in the byte stream (legacy)

    ソースコードを読んでいると、関数の引数や戻り値の具体的な例がほしいと思うことがよくある。。そこで、実行可能なコメントを仕込むモジュールであるSmart::Commentsを使って、モジュール内にテストを兼ねたサンプルコードを仕込めばいいのではないかと考えた。これにより、開発者にとっては簡単なテストコードとして動き、読者にとっては具体例となるコードを簡単にソースコード内に埋め込むことができる。 package MyUtil; use strict; use warnings; use parent qw(Exporter); our @EXPORT = qw(add); use if __FILE__ eq $0, 'Smart::Comments'; ### assert: add(10, 20) == 30 sub add { my($a, $b) = @_; ### add(a, b)

    Smart::Commentsでモジュールにサンプルコードを仕込む - Islands in the byte stream (legacy)
  • App::Prove::Plugin::Growlを書き直してみた - すぎゃーんメモ

    もう1年以上になりますが「proveコマンドを実行したときの結果とかをGrowlで通知するプラグイン」というのを書いていて、 proveコマンドの完了をGrowl通知するプラグインを書いてみた - すぎゃーんメモ そのときはMac以外のプラットフォームでどうするの、とか何とかでうやむやなまま放置していたのだけど、その後Growl::Anyというモジュールが出来て、今はそのあたりはスッキリしていますね。 Big Sky :: MacでもLinuxでもWindowsでもTwitterのhome_timelineをGrowl Growl::Anyが新しくなりました - Islands in the byte stream ので、Growl::Anyを使って通知してくれるように書き直してみました。 https://github.com/sugyan/App-Prove-Plugin-Growl 実

    App::Prove::Plugin::Growlを書き直してみた - すぎゃーんメモ
  • qunit-tapを使ってnode.jsのテストをproveで行う - すぎゃーんメモ

    Shibuya.js テクニカルトーク Test.jsでid:t-wadaさんの話がとても興味深く、 js テスト放浪記 qunit-tapというのが魅力的に感じたのでnode.jsのテストで使ってみました。 GitHub - twada/qunit-tap: A TAP Output Producer Plugin for QUnit quinit-tapとは まずQUnitについて。 QUnit QUnit自体は全然使ったことなくて詳しくは知らないのですが、もともとjQueryのテスト用に作られたテスティングフレームワークで、今はjQueryに関係なく色々な場面でのJavaScriptのテストに使えるようになっている、とのこと。 QUnit is a powerful, easy-to-use, JavaScript test suite. It's used by the jQuer

    qunit-tapを使ってnode.jsのテストをproveで行う - すぎゃーんメモ
    koba04
    koba04 2011/03/26
    ありがたいまとめ
  • PhantomJS入れてみた - Webtech Walker

    昨日shibuya.jsいって、PhantomJSが熱そうだったので入れてみました。PhantomJSはQtWebkitを使ってコマンドラインからGUIが存在しないブラウザを動かすもので、これを使えばJavaScriptのテストを手軽にコマンドラインから動かすことができます。実際にWebkitで動くのでCanvasでもAjaxでもなんでもいけるという優れもの。 インストール インストールは以下にのってるのでこの通りにやってさくっと終了。とくにはまりどころなし。 http://code.google.com/p/phantomjs/wiki/BuildInstructions#MacOSX テストしてみる こういうファイルを用意して test.html <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>

    PhantomJS入れてみた - Webtech Walker
  • Test::Mock::Guard Released - 日向夏特殊応援部隊

    さっき nekokak さんと xaicron さんにそそのかされて Test::Mock::Guard ってモジュールを書いてみました。 そもそも Perl には Test::MockObject と言う汎用の Mock モジュールがあるんですけど、あれこれ余計な機能がたくさんついてたり Mock 化すると多分元に戻せないと言うのがあってもっとシンプルな奴がほしいなと思って作ってみた次第です。SYSNOPSIS のコピペですけど、 use Test::More; use Test::Mock::Guard qw(mock_guard); package Some::Class; sub new { bless {} => shift } sub foo { "foo" } sub bar { 1; } package main; { ### このスコープでは Mock 化されてる my

    Test::Mock::Guard Released - 日向夏特殊応援部隊
    koba04
    koba04 2011/03/09
    簡単に使えそうで試してみたい
  • 開発とテストの融合こそゴール。続、グーグルはあれほど多くのソフトウェアのテストをどのように行っているのか?

    開発とテストの融合こそゴール。続、グーグルはあれほど多くのソフトウェアのテストをどのように行っているのか? グーグルでTest Engineering Directorを務めるJames A Whittaker氏が書いたエントリを紹介した先日の記事「グーグルはあれほど多くのソフトウェアのテストをどのように行っているのか?」が非常に好評で、「続きがあれば読みたい」というコメントをいただいていました。 Whittaker氏がそのエントリの続き「How Google Tests Software - Part Threeを公開していますので、ご要望に応えて紹介することにしましょう。 品質は開発の問題であってテストの問題ではない 品質とはどのように実現するものなのか? という問いに対して、Whittaker氏は次のように書いています。 The simple solution to this con

    開発とテストの融合こそゴール。続、グーグルはあれほど多くのソフトウェアのテストをどのように行っているのか?
  • 外部APIを含めたWebアプリのテストをしてみる - Perl勉強メモ アルパカDiary出張版

    外部APIを用いたWebアプリのコントローラテストについて。 たとえば 数値の2乗を結果として返すAPIサーバ があるとして、 そのAPIを利用した結果をHTMLとして出力するアプリケーション を考えてみます。 しかし、このように外部APIサーバを用いるとテストが難しくなります。 もしかしたらアクセスコントロールされているかもしれませんし、 メンテナンスされているかもしれませんし、 オフラインだとそもそもテストできないですよね! そこで外部APIサーバを振舞うplackサーバをローカルで立ち上げて それをproveで利用できるといいかも。 というわけでそのような環境を作ってみます。 サンプルWebアプリ *1 まずは /api に アクセスすると 外部APIサーバにアクセスしてその結果を返すだけのコントローラを書いてみます。 $host はテストからコントロールできるように環境変数をみてい

    外部APIを含めたWebアプリのテストをしてみる - Perl勉強メモ アルパカDiary出張版
    koba04
    koba04 2011/02/12
    なるほど。
  • Why Don't You Do Your Test - Fukuoka Perl Workshop #18

    Editor's Notes\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n

    Why Don't You Do Your Test - Fukuoka Perl Workshop #18
    koba04
    koba04 2010/11/29
    テストのための環境作り。とても参考になる。
  • JSTAPdを使ってJavaScriptのクロスブラウザテストしてみた(IE含) - Perl勉強メモ アルパカDiary出張版

    YAPCにてYappoさんの「Ajax Application Testing」を聴き興味をそそられました。 今回はクロスブラウザでのテスト自動化を実現したかったのでその辺りも試してみました。 http://yappo.github.com/talks/20101016-yapcasia2010-jstapd/ インストール cpanm JSTAPd スケルトン作成(hoge という名前のプロジェクトの場合) jstapd -n hoge テスト用デーモン起動 jstapd -d hogehttp://127.0.0.1:1978/____jstapd/ にアクセスして 「make test」ボタン押すとテスト動きます! 超簡単! テストをどう書くか 自分の場合はAjaxではなく生JSをテストしました。 いろいろ自由に書けますが、基的には以下のように書けばOK。 ????.t ファイルに

    JSTAPdを使ってJavaScriptのクロスブラウザテストしてみた(IE含) - Perl勉強メモ アルパカDiary出張版
  • Test::mysqldとDBIx::Skinnyを用いたテスト入門 - メメメモモ

    MySQLを使ったアプリをテストするために「Test::mysqld」に入門してみました。 下記のスクリプトの主な流れは、 Test::mysqlでテスト用DBを作成 Test::Fixture::DBIxSkinnyでテスト用データを挿入 テスト用DBを用いてテスト という感じになっています。 また、 http://d.hatena.ne.jp/memememomo/20101109/1289304130 で用意したスキーマを用いています。 texture.yamlの内容。 参照(予定)リンク 知識が足りないために、参照リンクの内容をいまいち理解できていません。 テストをゴリゴリ書いていく上で参考にしていきたいと思います。 Kazuho@Cybozu Labs: Perl のテスト用に MySQL 環境を自動で構築するモジュール Test::mysqld を書いた DBIを使った例 Mo

    Test::mysqldとDBIx::Skinnyを用いたテスト入門 - メメメモモ
  • Mojo + DBIx::Skinny + Test::mysqld ことはじめ - Perl勉強メモ アルパカDiary出張版

    ※2010/8/21 モジュールを少し書き直した テストはやっぱり同じプロダクトでやったほうがいいよ!と助言頂きましたのでTest::mysqld使うことにしました。 自分のやり方はいろいろ遠回りしてる気もしますが、一応自分のやりたいことはできたのでメモメモ。 ちなみにWAFは mojolicious でO/Rマッパは DBIx::Skinny とします。 参考URL http://mt.endeworks.jp/d-6/2009/10/things-ive-done-while-using-test-mysqld.html http://www.art-code.org/presen/hokkaido.pm/1/index.html こちらをミックスしたような方法。 ディレクトリ構成抜粋 -- lib -- ... -- db `-- create_table.sql -- t -- f

    Mojo + DBIx::Skinny + Test::mysqld ことはじめ - Perl勉強メモ アルパカDiary出張版
  • QUnit-TAP : JavaScript のテスティングフレームワークQUnitからTAP出力する - t-wada の日記(旧)

    JavaScript のテスティングフレームワーク QUnit から TAP 出力するための仕組みを作成し、さらに CommonJS 環境下でも動くようにしてみましたので、 github で公開します。ライセンスは QUnit に合わせて MIT と GPLv2 のデュアルライセンスです。 http://github.com/twada/qunit-tap これは何? 平たく言うと、主に画面非依存の JavaScript コードやサーバサイドで動かす JavaScript コードに対してコマンドラインからユニットテストを行うための仕組みです。 js のユニットテストというとブラウザ上で動かすものが一般的ですが、 DOM に依存しないロジックや抽象的なモジュールのテストはできればコマンドライン上で高速に実行させ、即座にフィードバックを得たいものです。 (更新) ヘッドレスブラウザ Phant

    QUnit-TAP : JavaScript のテスティングフレームワークQUnitからTAP出力する - t-wada の日記(旧)
  • Happy Testing Perl 記事一覧 | gihyo.jp

    第4回Test::Perl::Critic, Test::Pod, Test::Pod::Coverage, Test::Exception, Test::Warn, Devel::Coverの紹介 小林篤 2008-06-25

    Happy Testing Perl 記事一覧 | gihyo.jp
  • そろそろ大規模ソフトウェア開発に一言いっておくか。デイリービルドとリグレッションテスト 2010-03-12 - 未来のいつか/hyoshiokの日記

    会社の勉強会で自分の今までの経験からテストについてお話をした。その資料を公開する。自分が関わった、Oracle8、DEC Rdb、日COBOL、そしてSamba3.0国際化プロジェクトでのテストやディリービルドなどについて紹介した。 テストファースト開発など、最近広く知られるようになってきたが、ディリービルドとリグレッションテストの実行という方法論は昔からソフトウェア製品開発の現場では行われていたベストプラクティスである。そのリズムとか雰囲気を伝えたかった。 テスト勉強会よしおか100311 1View more presentations from Hiro Yoshioka. テストがある開発現場ってのは、こんな感じなんだ〜という雰囲気が伝われば幸いだ。 アジャイル開発方法論としてXPの手法とかいろいろ知られているが、このディリービルドとリグレッションテストというプラクティスもその

    そろそろ大規模ソフトウェア開発に一言いっておくか。デイリービルドとリグレッションテスト 2010-03-12 - 未来のいつか/hyoshiokの日記
    koba04
    koba04 2010/03/12
  • 第27回 Test::Most:Test::Moreでは物足りなくなってきたら | gihyo.jp

    Test Anything Protocol Perlは非常にテストを重視している言語です。連載第14回ではPerl体のテスト数がどのように推移してきたかを、また連載第24回ではCPANモジュールの品質保証に大きな役割を果たしてきたCPANTSについて簡単に紹介しましたが、Perlとテストのつながりはそれだけではありません。CPANにはTestを名前に含むディストリビューションが500以上もあがっていますし(これは全ディストリビューション数の約2.5%にあたります⁠)⁠、Perlで標準的に使われているテスト形式はTest Anything Protocol (TAP)という名前を得て多くの言語に移植され、2008年からはIETFの標準化を目指した活動も始まっています――というと何やらすごいプロトコルのように聞こえるかもしれませんが、Test Anything Protocolというのは要

    第27回 Test::Most:Test::Moreでは物足りなくなってきたら | gihyo.jp
  • いまからでも間に合う開発者テスト - mixi engineer blog

    はじめまして。開発部じゃない加藤和良です。 最近、mixi では Buildbot をつかった継続的インテグレーションをはじめています。安定版の mixi のソースコードにコミットすると Buildbot がそれを検知し、自動的にテストが走るようになりました。 ここでの「テスト」は Test::Simple や prove(1) をつかった、Perl でかかれた開発者テストを指しています。mixi の開発者テストをとりまく環境は、ここ数年でかなり改善されました。今回はその歩みをふりかえりながら、テストの無いコードベースをどこからどうやって変えていったかという話をしたいと思います。 開発環境 はじめに、前提となる mixi の開発環境について説明します。mixi では複数人の開発者がひとつのマシンで作業を行います。それぞれの開発者は、あらかじめ割り当てられたポートで Apache を起動し、

    いまからでも間に合う開発者テスト - mixi engineer blog