RSpec与Shoulda?

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

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

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

应该赞扬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的语法,表现力,嵌套的上下文,自定义匹配器以及全方位的酷! 😉

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

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