我刚才看了Railscast用于MINITEST。
问:使用RSpec的VS MINITEST用于测试Rails应用程序的优点和缺点? 哪些功能我会失去从转换到RSpec的MINITEST?
我刚才看了Railscast用于MINITEST。
问:使用RSpec的VS MINITEST用于测试Rails应用程序的优点和缺点? 哪些功能我会失去从转换到RSpec的MINITEST?
我的RSpec的开发者之一,并且从未使用过MINITEST,所以阅读这个答案的时候把我的偏见考虑。
总的来说,RSpec的的动力来自于它具体化这么多的测试概念为第一类对象的事实。 其中,Test ::单位和MINITEST用简单的方法来作出断言,RSpec的使用支持否定,自我描述,更一流的匹配对象。 RSpec的的例子是支持丰富的元数据的第一类对象; MINITEST /规格编译it
块分解成简单的方法,它不支持同一种丰富的元数据。 RSpec的支持使用第一级构建体(例如共享组)接受参数指定共享行为; W / MINITEST你可以使用继承或混入重新使用测试 ,但它不具有相同的排序一流的支持。 RSpec的有一个明确的格式化API(也有使用它的许多第三方格式化); 我不知道有相同的排序一流的格式化API的MINITEST的。
至于谁是不断运行的测试和实践TDD整天一个人,我找到电源的RSpec给了我是非常有用的。 很多人觉得这是矫枉过正,不过,并没有给额外的抽象的认知增加成本。
下面是一些特定功能的RSpec有,我相信MINITEST缺乏:
before(:all)
挂钩(注意,这是应该很少使用的RSpec的电力用户的功能,我只用它几次在多年使用的RSpec的) around(:each)
钩 使用MINITEST的好处:
def test_blah
或it 'blah'
的风格。 总的来说,这是一个有点像西纳特拉与Rails的,我认为MINITEST和RSpec是根据您的需要都精细的选择。
最后一两件事:如果有MINITEST的具体方面你更喜欢,但其他的事情你喜欢RSpec的更好,他们可以很容易地混合和匹配。 我写了一篇博客文章中针对此 ,如果你有兴趣。
我转换从SPEC-风格MINITEST Test/Unit
与shoulda
,并付出总有回报。 它摒弃了样板和他们说,这也提高了速度。 我从来没有真正使用RSpec的。 相反,我写我自己原始的测试和模拟框架(只是为了理解嘲讽的目的,我放弃了在切换到MINITEST)。 我认为,在RSpec的磕碰/嘲讽可能是更先进的,所以如果你已经学会了,就继续使用它。 否则,坚持与MINITEST,这将使你与人无知的RSpec的,比如我合作。