14

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

4

3 回答 3

15

Shoulda 称赞 Test::Unit 和 RSpec 所以我不认为这是选择 Shoulda 而不是 RSpec 的情况,反之亦然。我在多个项目中使用了 Shoulda,其中一些使用 Test::Unit 进行测试,另一些使用 RSpec 进行测试,并且它与两个框架一起工作得很好。

我建议您在现有的 Test::Unit 项目上尝试一下 Shoulda。它可以为您节省大量的击键次数,并使您的测试课程更加整洁和一致。

正如 Andrew Vit 所说,Should 团队越来越倾向于 RSpec 做事的方式(参见http://robots.thoughtbot.com/post/701863189/shoulda-rails3-and-beyond)。值得尝试 RSpec,看看你喜欢它。这不是每个人的口味,但我更喜欢 Test::Unit 因为它的语法、表现力、嵌套上下文、自定义匹配器和全方位的酷!;-)

于 2010-08-31T15:50:05.213 回答
14

RSpec 有很多不错的特性,不仅仅是语法。我会推荐它而不是Shouda。

即使是 Shoulda 的作者 Thoughtbot 现在也在使用 RSpec。Shoulda 现在作为一个 RSpec 插件工作,它提供了许多有用的匹配器。

于 2010-08-30T23:43:44.730 回答
1

没有非此即彼。在最适合的地方使用不同的测试工具。

Shoulda 是一个很棒的单行测试工具。它可以帮助您保持测试简洁明了。如果你也喜欢这种风格,我也会推荐Zebra gem。这是一个编写单行测试的好小工具。

于 2011-03-10T11:27:47.583 回答