如何暂停执行错误的红宝石黄瓜

时间:2019-02-20 16:07:28

标签: ruby cucumber

我希望测试套件在引发错误时暂停,以便我可以在浏览器中进行调试,例如chrome devtools如何允许您在错误时暂停。我尝试使用“环绕”块来捕获错误并启动调试会话,但由于从未触发过抢救,因此必须在捕获错误之前将其捕获到该级别。

require 'pry-nav'

Around do |_scenario, block|
  begin
    block.call
  rescue Exception, StandardError, Selenium::WebDriver::Error::UnknownError, RSpec::Expectations::ExpectationNotMetError, Capybara::ElementNotFound => e
    puts e
    binding.pry
  end
end

如何停止执行?

1 个答案:

答案 0 :(得分:0)

使用byebug。

出现错误时,请使用错误消息

  1. 获取引起问题的方案(以便您可以单独运行)
  2. 获取开始调试的起点,该起点将在发生错误的位置上方。

在错误发生时进行调试没有什么意义,因为大多数错误发生在断言失败时,并且您将处于一堆复杂的测试框架代码中,这些代码与您的应用程序无关,并且已经越过故障点