“默认情况下,运行bin / rails测试不会运行系统测试。请确保运行bin / rails test:system以实际运行它们。”
有谁知道如何更改默认行为,以便它将运行所有测试,包括系统测试?
答案 0 :(得分:0)
我试图这样做。
我认为让rails test
也运行系统测试需要重新定义rake任务。对于我可以调查的内容,任务是在railties gem testing.rake
目录中的/lib
文件中定义的:
desc "Runs all tests in test folder except system ones"
task :test do
$: << "test"
if ENV.key?("TEST")
Minitest.rake_run([ENV["TEST"]])
else
Minitest.rake_run(["test"], ["test/system/**/*"])
end
end
else
内函数中的第二个参数是运行测试时要排除的模式。
这里Overriding rails' default rake tasks 解释了如何覆盖它们,但是我无法以这种方式工作。
如果它对您有所帮助,我会使用bundle exec rake test:system test
而不是同时系统和所有其他测试