我希望测试套件在引发错误时暂停,以便我可以在浏览器中进行调试,例如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
如何停止执行?
答案 0 :(得分:0)
使用byebug。
出现错误时,请使用错误消息
在错误发生时进行调试没有什么意义,因为大多数错误发生在断言失败时,并且您将处于一堆复杂的测试框架代码中,这些代码与您的应用程序无关,并且已经越过故障点