我有一些错误条件,我想记录并移动,然后继续循环到下一个测试。
错误处理&下面的rescue
是方法by_the_test
的一部分,next
语句在那里;在此之后完成了它的工作。
单独的rescue
工作,它会在错误日志中创建一个条目并继续进行下一个测试。可爱。
rescue RSpec::Expectations::ExpectationNotMetError
$logfile.puts "#{Date.today}: Error for Row #{$row} - Expected #{@ct_cd}, but got #{@court.text}"
puts "Error for Row #{$row} - Expected #{@ct_cd}, but got #{@court.text}"
什么时候,我添加了以下额外的rescue
语句,并且其中一个测试命中了其中一个,rescue
无效。
rescue Capybara::ElementNotFound
$logfile.puts "#{Date.today}: Error for Row #{$row} - Entry #{@endor_cd} not found"
rescue Capybara::Ambiguous
$logfile.puts "#{Date.today}: Error for Row #{$row} - Duplicated entry on record #{@endor_cd}"
我也尝试了以下内容:
rescue RSpec::Expectations::ExpectationNotMetError, Capybara::ElementNotFound, Capybara::Ambiguous
我在日志文件中收到了一般错误消息。
答案 0 :(得分:0)
第一个救援声明是在正确的地方,第二个&第三个需要在代码中提前移动,因为他们拯救的错误发生在不同的地方。
获得的经验教训 - 检查错误陈述!