Testing 失败后立即再次运行Rspec
我正在使用browserstack进行一些自动化的跨浏览器测试,并在多个浏览器的rake任务中运行一个功能测试,如下所示: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
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