按特定顺序运行RSpec任务
我定义了一堆RSpec Rake任务,当我运行整个测试套件时,我想以特定的顺序运行。
我尝试过这样的事情:
task :run_in_order => [:one, :two, :three] do puts "Run suite of tests" end
它运行第一个测试然后停止并且不执行其余任务。
因此,如果使用Rake语法,它不起作用。 有没有办法记录RSpec Rake任务的任务依赖性?
检查这个http://blog.davidchelimsky.net/2012/01/04/rspec-28-is-released/
-order rand我们添加了一个带有两个支持值的–order选项:rand和default。
rspec –order random(或rand)告诉RSpec以随机顺序运行组,然后以随机顺序运行每个组中的示例。 我们以这种方式实现它(而不是完全随机化每个示例)因为我们不想重新运行昂贵的(:all)钩子。 公平的权衡,因为随之而来的随机化在暴露顺序依赖性错误方面同样有效。
当你使用–order random时,RSpec打印出它用来为随机数发生器种子的随机数。 当您认为您发现了订单依赖性错误时,您可以传递种子并且订单将保持一致:
–order rand:3455 –order默认告诉RSpec加载组和示例,因为它们在每个文件中声明
基本上,您应该在spec文件中订购测试,然后使用--order default
选项执行它。 。