GTD*_*Dev 49 ruby testing rspec ruby-on-rails minitest
我刚刚观看了Minitest 的Railscast.
使用RSpec与Minitest测试rails应用程序的优缺点是什么?我将失去哪些功能从RSpec转换为Minitest?
Myr*_*ton 74
我是RSpec开发人员之一,并且从未使用过minitest,因此在阅读此答案时请考虑我的偏见.
总的来说,RSpec的强大之处在于它将如此众多的测试概念融入到一流的对象中.在Test :: Unit和Minitest使用简单方法进行断言的地方,RSpec使用支持否定,自我描述等的一流匹配器对象.RSpec的示例是支持丰富元数据的一流对象; minitest/spec将it块编译成简单的方法,这些方法不支持相同类型的富元数据.RSpec支持使用接受参数的第一类构造(共享示例组)指定共享行为; w/minitest你可以使用继承或mixin来重用测试,但它没有同样的一流支持.RSpec有一个明确的格式化程序API(并且有很多第三方格式化程序使用它); 我不知道minitest拥有相同类型的一流格式化程序API.
作为一直在不断进行测试和练习TDD的人,我发现RSpec的强大功能让我非常有用.然而,许多人发现它有点矫枉过正,并且额外的抽象会增加认知成本.
以下是RSpec的一些具体功能,我相信minitest缺乏:
before(:all) 钩子(请注意这是RSpec的高级用户功能,应该很少使用;我在使用RSpec的多年中仅使用过几次)around(:each) 挂钩使用Minitest的好处:
def test_blah或it 'blah'样式.总的来说,它有点像Sinatra vs. Rails,我认为Minitest和RSpec都是很好的选择,具体取决于您的需求.
最后一件事:如果Minitest有特定的方面你想要更好,但是你对RSpec更喜欢的其他东西,它们很容易混合和匹配.如果您有兴趣,我写了一篇关于此的博文.
| 归档时间: |
|
| 查看次数: |
12936 次 |
| 最近记录: |