2010-08-30 80 views
14

我是新來的單元測試場景;我現在只用了大約2個月的單元測試。當我在Ruby中進行單元測試時,我目前遵循TDD風格並使用Test :: Unit :: TestCase。我也讀過RSpec以及它如何遵循BDD方法。我也讀過關於兩個框架之間的Shoulda。我的問題是,我應該把我的時間用於RSpec還是Shoulda,還是應該堅持使用Test :: Unit :: TestCase?任何有關這個問題的意見都表示讚賞RSpec與Shoulda?

回答

14

RSpec有很多很好的功能,不僅僅是語法。我會推薦它在Shoulda上。

即使Thoughta的作者Thoughtbot現在也在使用RSpec。 Shoulda現在可以用作RSpec插件,它提供了許多有用的匹配器。

15

應該稱讚Test :: Unit和RSpec,所以我不認爲這是選擇Shoulda而不是RSpec的情況,反之亦然。我在多個項目上使用Shoulda,其中一些使用Test :: Unit進行了測試,其他使用RSpec進行了測試,並且與兩個框架一起使用效果很好。

我建議在您現有的Test :: Unit項目上嘗試Shoulda。它可以爲您節省大量關鍵筆劃,並讓您的測試類更整齊一致。

正如Andrew Vit所說的,Shoulda團隊正在越來越傾向於RSpec的做法(請參閱http://robots.thoughtbot.com/post/701863189/shoulda-rails3-and-beyond)。值得嘗試RSpec,看看你喜歡它。這不是每個人的口味,但我更喜歡Test :: Unit的語法,表現力,嵌套上下文,自定義匹配器和全方位的酷炫! ;-)

1

沒有任何一個 - 或者。在最合適的地方使用不同的測試工具。

Shoulda是一款出色的單線測試工具。它可以幫助你保持你的測試清潔和簡潔。如果你也喜歡這種風格,我也推薦斑馬寶石。這是一個很好的編寫單線測試的小工具。

相關問題