对于Ruby 1.9.x的测试框架有一个共识吗?

前端之家收集整理的这篇文章主要介绍了对于Ruby 1.9.x的测试框架有一个共识吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
一个两个快乐的介绍.简介:我来自Perl的 Ruby,我在测试框架的选择中有点迷失.我明白,可能没有一个单一的,全面的最佳选择,但我甚至不能清楚地看到运动场.

那么,首先,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的不同调用的有用概述.)

解决方法

有共识吗?我不会说使用TDD / BDD有很强的社区声音,但即使这样也不普遍.该框架可能不如首先应用该做法那么重要.

我相信minitest是Test :: Unit的1.9替换,它只作为一个包装在新的库中以向后兼容.我猜想采取最细小的路线会更前瞻.

RSpec是一个有点不同的采取:不太明显地被“传统”xUnit影响的框架所吸引.值得花一些时间看看你喜欢它.

还有Shoulda.虽然我不知道1.9是如何测试的:它更多是Test :: Unit的包装/扩展,但它可能会工作.

当然,乐趣并不止于此:一旦您选择了测试框架,您将需要一种嘲笑的引擎.或者替换数据夹具.

在任何情况下,我会说任何可以找到定期更新证据的框架,一个开放的,人口稠密的社区和一个你不恨的API来做这个工作.你不会因为做任何你所做的任何选择而被打倒了.

猜你在找的Ruby相关文章