2009-06-26 117 views
0

同樣的問題waloeiii在twitter在一切都變綠之後,我如何讓自動測試/測試不運行完整的測試套件?

如何我已經autospec /測試後不一切 走向綠色運行 完整的測試套件?我寫的下一個測試將爲 爲紅色!

我寧願手動運行完整測試套件。

順便說一句,我嘗試添加一個失敗規格:

it "should flunk" do 
    flunk 
end 

但autospec似乎當它感覺像它忽略它。

+0

當然有一種方法可以單獨運行測試。 – 2009-06-26 03:37:30

+0

當然可以。 autospec將自動爲您運行單個測試。我只是不喜歡autospec,即使你仍然有失敗或未定規格,它有時會重新運行整個測試套件。 – gsmendoza 2009-06-26 06:07:20

回答

1

有點晚了,但我一直在尋找這個問題,以及因此想我會後我的解決方案:

以下內容添加到〜 /.autotest:

class Autotest 
    def rerun_all_tests 
    end 
end 
0

我認爲這是通過設計 - 如果您修復了一個失敗的規範,並且該部分中的所有其他規範都是綠色的,那麼autospec將重新運行整個套件 - 這會告訴您,如果修復應用於你的項目有另一個或沒有。

如果你只是想運行你在任何一個時間工作的規範,那麼你可以在命令行中做到這一點:

ruby spec/controllers/my_spec.rb 

或通過從您的規格按CMD + R內的TextMate文件。無論如何,您應該重新運行整個套件,否則您可能會缺少規格不合格的產品。

1

你確定你是不是感到困惑自動測試的啓發式的預期的行爲?

我的理解是,它運行發生了什麼變化測試,並會繼續運行失敗的測試,直到他們通過,然後一旦他們通過運行整個測試套件,以確保沒有別的爆發。

實際上它正在保守,並確保你沒有出臺副作用,打破其他不相關的測試這可能是一件好事。當然問題是,如果你正在做快速的紅綠循環,你將會運行你的全套套件。

如果你想改變你需要在rails_autotest.rb文件zentest編輯啓發式這些行爲。

+0

感謝您指出e rails_autotest.rb。我會研究它。順便說一下,即使我添加了一個假的失敗測試(見上面),autospec仍然有時會重新運行整個測試套件。 – gsmendoza 2009-06-28 04:47:12

+0

我最終禁用了ZenTest-4.0.0/lib/autotest.rb中的所述行爲。感謝您的建議! – gsmendoza 2009-06-29 06:39:03

1

您可以使用下列選項來避免這種行爲 -

autospec --no-full-after-failed 
相關問題