繁体   English   中英

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

[英]how to pause execution on error in cucumber ruby

我希望测试套件在引发错误时暂停,以便我可以在浏览器中进行调试,例如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

如何停止执行?

使用byebug。

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

  1. 获取导致问题的方案(因此您可以自己运行)
  2. 获取开始调试的起点,该起点将在发生错误的位置上方。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM