Testing 失败后立即再次运行Rspec

Testing 失败后立即再次运行Rspec,testing,rspec,rake,Testing,Rspec,Rake,我正在使用browserstack进行一些自动化的跨浏览器测试,并在多个浏览器的rake任务中运行一个功能测试,如下所示: namespace :spec do desc "Run Selenium and record results to BrowserStack" task :browser_testing_demo => [:environment] do BROWSERS.keys.each do |browser_name| puts "Cross

我正在使用browserstack进行一些自动化的跨浏览器测试,并在多个浏览器的rake任务中运行一个功能测试,如下所示:

namespace :spec do
  desc "Run Selenium and record results to BrowserStack"
  task :browser_testing_demo => [:environment] do
    BROWSERS.keys.each do |browser_name|
      puts "Cross browser testing against #{browser_name}."

      Rake::Task["browser_testing_demo:#{browser_name}"].execute
    end
  end
end

namespace :browser_testing_demo do
  BROWSERS.keys.each do |browser_key|
    RSpec::Core::RakeTask.new("#{browser_key}_run".to_sym) do |t|
      t.pattern = 'spec/cross_browser/cross_browser_ui_spec.rb'
    end

    desc "Run rspec against #{BROWSERS[browser_key]['browser']} #{BROWSERS[browser_key]['browser_version']}"
    task browser_key do
      ENV['BROWSER_TASK_NAME'] = browser_key

      Rake::Task["browser_testing_demo:#{browser_key}_run"].execute
    end
  end
end
浏览器只是一个导入的json文件,具有我感兴趣的不同浏览器配置。如果没有错误,它可以完美地工作(与browserstack连接、运行测试并记录所有浏览器的屏幕截图)。问题在于发生故障或其他错误时。这会导致rspec转储结果(“失败的示例:…”),并且下一个rake任务不会开始。有没有办法阻止这种行为发生


(我在不同的地方尝试了rescue块,但没有效果。我想可能有一个rspec配置可以设置?

我可以通过将这一行添加到my rspec.configure块来实现这一点:

config.failure_exit_code = 0