Twitterのwaloeiiiと同じ質問:
すべてがグリーンになった後、autospec / testで完全なテストスイートを実行しないようにするにはどうすればよいですか?私が書く次のテストは赤になります!
完全なテストスイートを手動で実行したいと思います。
ちなみに、私は失敗した仕様を追加しようとしました:
it "should flunk" do
flunk
end
しかし、autospecは、そのように感じたときにそれを無視しているようです。
Twitterのwaloeiiiと同じ質問:
すべてがグリーンになった後、autospec / testで完全なテストスイートを実行しないようにするにはどうすればよいですか?私が書く次のテストは赤になります!
完全なテストスイートを手動で実行したいと思います。
ちなみに、私は失敗した仕様を追加しようとしました:
it "should flunk" do
flunk
end
しかし、autospecは、そのように感じたときにそれを無視しているようです。
少し遅れましたが、これも探していたので、ソリューションを投稿すると思いました:
~/.autotest に以下を追加します。
class Autotest
def rerun_all_tests
end
end
autotest のヒューリスティックの意図された動作について混乱していませんか?
私の理解では、何が変更されたかのテストを実行し、合格するまで失敗したテストを実行し続け、合格するとテストスイート全体を実行して、他に何も壊れていないことを確認します。
実際には、それは保守的であり、おそらく良いことである他の無関係なテストを壊す副作用を導入していないことを確認しています. もちろん問題は、赤と緑のサイクルを高速に実行している場合、スイート全体を頻繁に実行することになることです。
これらの動作を変更する場合はrails_autotest.rb
、zentest のファイルでヒューリスティックを編集する必要があります。
この動作を回避するには、次のオプションを使用できます -
autospec --no-full-after-failed
これは仕様によるものだと思います - 失敗したスペックを修正し、セクション内の他のすべてのスペックが緑色の場合、autospec はスイート全体を再実行します - これにより、プロジェクトの 1 つの領域に適用した修正が失敗したかどうかがわかります別かどうか。
作業中の仕様を一度に実行したい場合は、コマンド ラインから実行できます。
ruby spec/controllers/my_spec.rb
またはスペックファイルからcmd + rを押してTextmate内から。とにかく、スイート全体を再実行する必要があります。そうしないと、失敗した仕様が見つからない可能性があります。