2017-08-29 28 views

回答

0

我正在尝试做同样的事情。

我认为rails test也运行系统测试,你需要重新定义rake任务。为了什么我可以调查任务在testing.rake文件railties宝石/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而不是和它运行系统和所有其他测试一起