これらのツールの一つはZentest(サイト・英語)パッケージに含まれているオートテストである。そのインストールは至ってシンプルなものである。
gem install zentestZentestがそれらでユニットテストとあなたのコードを同期化するのを助ける一方、オートテストは確実にある一つ事をする。一旦始まったらファイルが保存されるた度にテストを再実行するのだ。保存されたファイルの中でコードに対応するテストのみを再実行するところが賢明なのである。
オートテストのクリエーターであるEric Hodel氏はオートテストを行うための仕事のやりかたを説明した(source)。
オートテストを書く前に私は構文的に正しいきめの細かいセーブを作っていたのです。どのテストを実行するか選ぶ必要がなくなるのでテスト実行を自動化するためにオートテストを書いたのです。変更点はとても少ないのでコマンドラインを編集するのにはほとんど時間を費やしませんでした。これはテストを実行するにおいてもう一つの利点を意味している。コードは保存の度にロードされチェックされる。これをコード上でシンタックスとセマンティックチェッカーのような静的アナライザーを増やしたり、保存する度に動かしている現代のJava IDEと比較してみて欲しい。デベロッパたちは未だ好みのエディタに依存している一方、同じくらいのレベルの自動チェックがAutotestでは成されて いる。
プラグインインターフェースもまたオートテストの拡張を可能にする。プロジェクトルーツに ".autotest"ファイルを作るだけでいいのである。これにおいて既存のプラグインを要するかもしくは多様なフック用にカスタムハンドラを書いて欲しい。
Autotest.add_hook :red { |autotest| p "Failures!" }最初のパラメータはこれがフックするフックの名前である。このケースにおいてはテスト障害である。このコードはテストが通らなかった場合に単純に "Failures!"をプリントアウトする。これはまたテスト結果によって、もしくは単純に保存の度に他のツールの呼び出しを可能にする。Emacsを伴う統合用のプラグインか、もしくはハウリング(source)が入手可能である。
あなたはオートテストを以前聞いたことがあるだろうか?そしてそれを使おうと考えているだろうか?
原文はこちらです:http://www.infoq.com/news/2007/12/autotest-tool