一个快速介绍的两部分。简介:我从 Perl 转向 Ruby,在测试框架的选择中我有点迷茫。我知道可能没有单一的、全方位的最佳选择,但我什至无法清楚地了解比赛场地。
那么,首先,MiniTest 还是 Test::Unit?我刚刚意识到 1.9.1 现在默认为 MiniTest。我没有注意到,因为所有较旧的 Test::Unit 教程仍然可以正常工作。如果你require test/unit
,你实际上将 MiniTest 作为一个 Test::Unit 模拟器 (!)。我最初的想法是使用 MiniTest 的默认选择(一旦我知道它在那里),但即使是最近的书籍似乎也没有兴趣教授它。Ruby Best Practices说两者之间“存在显着差异”,但他选择不处理它们。他还通过 Test::Unit (加上一些自定义附加组件)运行他的所有测试。新的 Pickaxe本身对 MiniTest 的了解也很少,并且在关于测试的章节中,他们还使用了 MiniTest 的 Test::Unit 仿真版本。然后澄清我的第一个问题:MiniTest 是一个糟糕的首选吗?我应该默认使用 Test::Unit 模拟器吗?
其次,除了内置选项之外,还有 Rspec、Cucumber & company 用于行为驱动测试。社区是否强烈倾向于这种风格和框架?我应该从 Rspec 开始吗?
我将对这三个方面进行一些尝试,但我很想知道围绕 Ruby 1.9 中的测试正在形成什么样的共识(如果有的话)。
(快速跟进,作为对我自己和任何感兴趣的人的提醒。请参阅此链接以获取有关不同红宝石 1.8 到 1.9.1 中 Test::Unit 和 MiniTest 不同调用的有用概述。)