我是新來的單元測試場景;我現在只用了大約2個月的單元測試。當我在Ruby中進行單元測試時,我目前遵循TDD風格並使用Test :: Unit :: TestCase。我也讀過RSpec以及它如何遵循BDD方法。我也讀過關於兩個框架之間的Shoulda。我的問題是,我應該把我的時間用於RSpec還是Shoulda,還是應該堅持使用Test :: Unit :: TestCase?任何有關這個問題的意見都表示讚賞RSpec與Shoulda?
14
A
回答
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是一款出色的單線測試工具。它可以幫助你保持你的測試清潔和簡潔。如果你也喜歡這種風格,我也推薦斑馬寶石。這是一個很好的編寫單線測試的小工具。
相關問題
- 1. RSpec Shoulda validates_presence_of nilClass
- 2. Shoulda和RSpec之前
- 3. 在RSpec中使用shoulda宏
- 4. 用rspec + shoulda-matchers測試
- 5. Rails,shoulda和rspec,Column Not Null
- 6. 如何訪問清除在RSpec Shoulda宏
- 7. Shoulda vs rspec和rails的卓越
- 8. rspec和shoulda - 補充還是替代品?
- 9. Rspec + Shoulda + FactoryGirl =未定義的方法`reflect_on_association'
- 10. Rspec,shoulda和spork不能一起工作
- 11. 你可以使用RSpec,Shoulda,RCov嗎?
- 12. 將Rspec測試轉換爲Shoulda
- 13. Ruby on Rails與RSpec和shoulda-matcher validate_inclusion_of給NoMethodError
- 14. 沒有這樣的文件加載 - rspec/matchers - rspec-rails,shoulda,cucumber,factory girl,Rails2.3.10
- 15. 使用Rspec和Shoulda,爲什麼'setup'未定義?
- 16. BDD on Rails - 社區更應該落後於Shoulda還是RSpec?
- 17. 爲什麼要在Rails中使用RSpec或shoulda?
- 18. 使用RSpec(和Shoulda Matchers)測試條件驗證
- 19. 使用Shoulda和RSpec測試ActiveRecord模型方法
- 20. 使用rspec3測試has_many與shoulda-matchers
- 21. 我可以用mongoid與shoulda嗎?
- 22. Shoulda:未知的錯誤與validates_each
- 23. rails 2 + thinkbot-shoulda
- 24. 與RSPEC
- 25. 應該用shoulda嗎?
- 26. Shoulda/RSpec:確保驗證消息「xxx」處於打開狀態:基地
- 27. Rails未能加載shoulda-matchers 3.1.1 gem,未定義的方法`allow_value'for#<RSpec
- 28. 如何在沒有rspec的單元測試rails 4中阻止gem shoulda?
- 29. 如何在Rspec中進行一次沒有Shoulda的線路測試?
- 30. 這是用RSpec&Shoulda測試用戶角色的正確DRY方式嗎?