在Rails 5.1中,您可以bin/rails test
执行常规测试,bin/rails test:system
。 Rails批准的同时运行两种方式是什么?
答案 0 :(得分:7)
bin/rails test:system test
在test:system
之前指定test
将运行系统测试和普通测试。然而,相反的顺序只会运行普通测试。
答案 1 :(得分:6)
rails test:all
(Rails 6.1 +) Rails 6.1引入了一个新命令-rails test:all
。
它运行测试目录中的所有测试文件,包括系统测试。
这里是link to PR。 还有一个link to the docs(请向下滚动到黄色框)。
答案 2 :(得分:2)
至少从官方的rails指南来看,似乎无法做到这一点:
默认情况下,运行bin / rails测试不会运行系统测试。确保运行bin / rails test:system来实际运行它们。
参考:rails guide
答案 3 :(得分:1)
如果其他人正在寻找答案:
bin/rails test test/*
答案 4 :(得分:1)
如果您打算仅使用$ rake
或$rake test
来运行它,则可以添加到您的Rakefile中:
task test: 'test:system'
这将使'测试:系统' a"先决条件" for" test"任务
答案 5 :(得分:0)
您还可以将此代码段添加到lib / tasks文件夹中,这将使您可以选择执行rake test:all
namespace :test do
desc "Run both regular tests and system tests"
task :all => 'test' do
Minitest.after_run {system('rake test:system')}
end
end
答案 6 :(得分:0)
总结所有答案以供参考:
bin/rails test:system
bin/rails test .
bin/rails test:all