如何让我的Rails应用程序的测试以随机顺序执行? 是否有使用rake的简单解决方案?
答案 0 :(得分:5)
在这里,您可以在lib/tasks/tasks.rb
namespace :test do
namespace :randomize do
desc "Randomize tests"
Rake::TestTask.new(:all => "db:test:prepare") do |t|
t.libs << "test"
t.test_files = Rake::FileList[
'test/unit/**/*_test.rb',
'test/functional/**/*_test.rb',
'test/integration/**/*_test.rb'
].shuffle
t.verbose = true
end
end
end
运行:rake test:randomize:all
请记住,文件测试中仍会按照它们出现的顺序执行。我想你可以通过猴子补丁测试单元来实现这一点。
答案 1 :(得分:0)
您可以查看“ZenTest 3.9.0:现在有更多邪恶”(无法直接链接,使用谷歌缓存)
Added ability to set test execution order, defaults to :random. EVIL!