2010-12-10 12 views
6

私は最近、私のrails3アプリで動作するように自動テストを取得することに多くの問題を抱えてきました。今までそれを働かせることを願ってそれを試してみるのではなく、私は代替案を探し始めました。今は、ウォッチャーが素晴らしい選択肢だと思われます。しかし、私は、は、他の1つを使用して任意の特定の利点はありますか?私が知る最も明白なのは、ウォッチャーはセットアップに少し時間がかかります。しかしその後、それは "ちょうどうまくいく"ようです。だからトレードオフは私にはそれほど価値があるようですが、他のいくつかの長所/短所は何ですか?watchr vs autotest for rails apps

また、私はあまりにも、何sporkが動作しているかに精通していないが、watchrはsporkと一緒に使用することができますし、はるかに高速で実行するレールのテストの利点を得ることができますか?

答えて

10

私は最近autotestに問題がありました。あなたが期待するファイル構造を使用しないと厄介です。それで私はwatchrを試してみました。私はとても喜んでいます。

変更後にテストを自動的に実行する場合は、両方のツールが同じです。 Autotestはレールプロジェクトの中でそのまま動作しますが、watchrは実行する設定ファイルが必要です。したがって、監視者には少しオーバーヘッドがあります。しかし、すでにオートテストのように振る舞いを構成しているプロジェクトがいくつかあります。

特定のファイルが変更されるたびにカスタマイズされたコマンドを使用するとすぐに、watchrはその強度を示します。たとえば、重要なファイルが変更されるたびにschema.rbが変更されたり、更新されたドキュメントが生成されるたびにrake annotateを実行します。

このような振る舞いはwatchrの簡単な設定構文:watch('regular expression') {|match_data| your_command match_data[0]}で可能です。 watchrは(先割れスプーンに似ている)ネストルで動作するようですのでconfig_file.rbが

watch ('spec/.*_spec\.rb') {|md| system "rspec -c spec/"} 

が含まれている間、あなたはwatchr config_file.rb呼び出す色のすべてのスペックを実行するには、同様に先割れスプーンを統合することが可能なはずです。

要約:watchrはオートテストよりはるかに柔軟ですが、始めるには設定が必要です。 watchrはsporkでうまく動作するはずです。