2010-08-30 71 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是一款出色的单线测试工具。它可以帮助你保持你的测试清洁和简洁。如果你也喜欢这种风格,我也推荐斑马宝石。这是一个很好的编写单线测试的小工具。

相关问题