那么,首先,MiniTest或Test :: Unit?我刚才意识到1.9.1默认为MiniTest.我没有注意到,因为所有较老的Test :: Unit教程仍然可以正常工作.如果您需要测试/单位,您实际上将MiniTest作为Test :: Unit模拟器(!).我最初的想法是默认选择MiniTest(一旦我知道它在那里),但即使是最近的书籍似乎没有兴趣教它. Ruby Best Practices表示“两者之间存在显着差异”,但他选择不处理它们.他还通过Test :: Unit(加上一些自定义加载项)运行所有的测试.新的Pickaxe对于MiniTest本身也很少,在测试的章节中,他们也使用了MiniTest的Test :: Unit仿真版本.为了澄清我的第一个问题,那就是MiniTest是一个不好的第一个选择?我应该默认使用Test :: Unit模拟器吗?
第二,除了内置的选项,还有Rspec,Cucumber&公司进行行为驱动测试.社区倾向于这种风格和框架吗?我应该从Rspec开始吗?
我会玩三分之一,但我很好奇,听到在Ruby 1.9中测试的共同点(如果有的话).
(快速跟进,提醒我自己和任何有兴趣的人),请参见this link,了解各种ruby1.8到1.9.1中Test :: Unit和MiniTest的不同调用的有用概述.)
@R_502_323@
我相信minitest是Test :: Unit的1.9替换,它只作为一个包装在新的库中以向后兼容.我猜想采取最细小的路线会更前瞻.
RSpec是一个有点不同的采取:不太明显地被“传统”xUnit影响的框架所吸引.值得花一些时间看看你喜欢它.
还有Shoulda.虽然我不知道1.9是如何测试的:它更多是Test :: Unit的包装/扩展,但它可能会工作.
当然,乐趣并不止于此:一旦您选择了测试框架,您将需要一种嘲笑的引擎.或者替换数据夹具.
在任何情况下,我会说任何可以找到定期更新证据的框架,一个开放的,人口稠密的社区和一个你不恨的API来做这个工作.你不会因为做任何你所做的任何选择而被打倒了.