RSpec与Shoulda?

时间:2010-08-30 22:01:26

标签: ruby unit-testing rspec shoulda

我是单位测试场景的新手;我现在只使用了大约2个月的单元测试。当我在Ruby中进行单元测试时,我目前遵循TDD风格并使用Test :: Unit :: TestCase。我还阅读了有关RSpec以及它如何遵循BDD方法的内容。我也读过关于Shoulda的内容,它介于两个框架之间。我的问题是,我应该把时间花在RSpec或Shoulda上,或者我应该坚持使用Test :: Unit :: TestCase?任何有关该主题的意见都表示赞赏。

3 个答案:

答案 0 :(得分:15)

应该赞美Test :: Unit和RSpec所以我认为不是选择了优于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 :(得分:14)

RSpec有很多不错的功能,不仅仅是语法。我会推荐它在Shoulda。

甚至作为Shoulda的作者Thoughtbot现在正在使用RSpec。 Shoulda现在作为RSpec插件工作,它提供了许多有用的匹配器。

答案 2 :(得分:1)

没有 - 或者。使用最适合的不同测试工具。

Shoulda是一款出色的单线测试工具。它可以帮助您保持测试的清洁和简洁。如果您也喜欢这种风格,我也会推荐 Zebra 宝石。这是编写单线测试的一个很好的小工具。