【发布时间】:2017-08-29 17:19:43
【问题描述】:
“默认情况下,运行 bin/rails test 不会运行您的系统测试。请确保运行 bin/rails test:system 来实际运行它们。”
有谁知道如何更改默认行为以运行您的所有测试,包括系统测试?
【问题讨论】:
标签: ruby-on-rails
“默认情况下,运行 bin/rails test 不会运行您的系统测试。请确保运行 bin/rails test:system 来实际运行它们。”
有谁知道如何更改默认行为以运行您的所有测试,包括系统测试?
【问题讨论】:
标签: ruby-on-rails
我也在尝试这样做。
我认为要让rails test 也运行系统测试,您需要重新定义 rake 任务。我可以调查的任务是在 railties gem /lib 目录内的 testing.rake 文件中定义的:
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,它同时运行系统和所有其他测试
【讨论】: