2

rspec、autotest、および spork を使用して起動して実行しようとしている新しいプロジェクトがあります。

私は使っている:

  • レール3.0.4

  • rspec 2.5.0

  • スポーク 0.9.0.rc3

  • 自動テスト 4.4.6

Spork は正常にロードされているようですが (ポートでリッスンしているというメッセージが表示されます)、失敗したテストで autotest を実行すると、そのテストが何度も再実行されます。テストを実行し、失敗していることを確認して停止するだけです。なぜこの動作が起こっているのか分かりますか?

また、失敗したテストに合格すると、自動テストが停止します。次にコードを変更すると、テストが実行されず、自動テストで変更を確認するには Ctrl-C を押す必要があります。

助けてくれてありがとう!

4

1 に答える 1

2

これはスポークに関連していると確信していますか?autotest と無限ループに関する同様の問題を修正しました。一部のコンポーネント (その場合は simplecov) がディレクトリ内のファイルを更新し続け、autotest がそれらを変更済みとして検出し、テストを再実行しました。この問題を解決するには、spork がツリー内のファイル/ディレクトリに書き込みを行うかどうかを調べ、これを自動テストの例外リストに次のように追加します。

~/ruby/project$ cat .autotest
Autotest.add_hook :initialize do |at|
  at.add_exception(%r{^\./\.git})
  at.add_exception(%r{^\./your_culprit})
end

おそらく、githubのドキュメントがより明確になります。
お役に立てれば

于 2011-02-24T19:18:37.963 に答える