同樣的問題waloeiii在twitter:在一切都變綠之後,我如何讓自動測試/測試不運行完整的測試套件?
如何我已經autospec /測試後不一切 走向綠色運行 完整的測試套件?我寫的下一個測試將爲 爲紅色!
我寧願手動運行完整測試套件。
順便說一句,我嘗試添加一個失敗規格:
it "should flunk" do
flunk
end
但autospec似乎當它感覺像它忽略它。
同樣的問題waloeiii在twitter:在一切都變綠之後,我如何讓自動測試/測試不運行完整的測試套件?
如何我已經autospec /測試後不一切 走向綠色運行 完整的測試套件?我寫的下一個測試將爲 爲紅色!
我寧願手動運行完整測試套件。
順便說一句,我嘗試添加一個失敗規格:
it "should flunk" do
flunk
end
但autospec似乎當它感覺像它忽略它。
有點晚了,但我一直在尋找這個問題,以及因此想我會後我的解決方案:
以下內容添加到〜 /.autotest:
class Autotest
def rerun_all_tests
end
end
我認爲這是通過設計 - 如果您修復了一個失敗的規範,並且該部分中的所有其他規範都是綠色的,那麼autospec將重新運行整個套件 - 這會告訴您,如果修復應用於你的項目有另一個或沒有。
如果你只是想運行你在任何一個時間工作的規範,那麼你可以在命令行中做到這一點:
ruby spec/controllers/my_spec.rb
或通過從您的規格按CMD + R內的TextMate文件。無論如何,您應該重新運行整個套件,否則您可能會缺少規格不合格的產品。
你確定你是不是感到困惑自動測試的啓發式的預期的行爲?
我的理解是,它運行發生了什麼變化測試,並會繼續運行失敗的測試,直到他們通過,然後一旦他們通過運行整個測試套件,以確保沒有別的爆發。
實際上它正在保守,並確保你沒有出臺副作用,打破其他不相關的測試這可能是一件好事。當然問題是,如果你正在做快速的紅綠循環,你將會運行你的全套套件。
如果你想改變你需要在rails_autotest.rb
文件zentest編輯啓發式這些行爲。
您可以使用下列選項來避免這種行爲 -
autospec --no-full-after-failed
當然有一種方法可以單獨運行測試。 – 2009-06-26 03:37:30
當然可以。 autospec將自動爲您運行單個測試。我只是不喜歡autospec,即使你仍然有失敗或未定規格,它有時會重新運行整個測試套件。 – gsmendoza 2009-06-26 06:07:20