【问题标题】:Run Rspec immediately again after failures失败后立即再次运行 Rspec
【发布时间】:2015-03-03 19:54:37
【问题描述】:

我正在使用 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

BROWSERS 只是一个导入的 json 文件,其中包含我感兴趣的不同浏览器配置。只要没有错误,它就可以完美运行(与 browserstack 连接、运行测试并记录所有浏览器的屏幕截图)。问题是发生故障或其他错误时。这会导致 rspec 转储结果(“Failed exaples: ...”)并且下一个 rake 任务不会开始。有什么办法可以阻止这种行为的发生?

(我在各个地方都尝试过救援块,但无济于事。我在想可能有我可以设置的 rspec 配置?)

【问题讨论】:

    标签: testing rspec rake


    【解决方案1】:

    我可以通过将此行添加到我的 RSpec.configure 块来做到这一点:

    config.failure_exit_code = 0
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-31
      • 1970-01-01
      • 1970-01-01
      • 2012-12-03
      • 2013-11-13
      • 2014-03-30
      • 2019-04-15
      • 2013-06-08
      相关资源
      最近更新 更多