如何使用Ruby + Rspec获取TC故障的原因(错误)

时间:2016-12-20 16:12:30

标签: ruby testing rspec

我试图在失败的TC的“after(:each)”声明中做一些特定的逻辑。 如何使用Ruby和Rspec方法捕获TC故障的事实和原因? 我试过像:

  after(:each) do
    if RSpec::Expectations::ExpectationNotMetError
      e = RSpec::Expectations::ExpectationNotMetError
      puts "Error is: " + e.to_s
      @driver.save_screenshot "../Reports/#{e}.png"
    end
  end

但它不起作用。

1 个答案:

答案 0 :(得分:0)

我找到了答案:

RSpec.configure do |config|
      config.after(:each) do |result|
        if result.exception
          res = result.metadata[:example_group][:full_description].to_s + result.metadata[:description].to_s
          @driver.save_screenshot "../Reports/#{res}.png"
        end
      end
end