2016-03-10 6 views
1

У меня есть несколько условий для ошибок, которые я хочу записать и переместить, затем перейдите к следующему тесту в цикле.Спасение от нескольких ошибок

Ошибка обработки & 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

Ошибка, которую я получаю: Не удалось найти css "li.category" с текстом "ZZ20" (Capybara :: ElementNotFound) – Peter

+0

Разработал это - заявления о спасении должны были быть в другое место. Cheers @EVAL для редактирования. – Peter

ответ

0

Первое заявление о спасении находилось в правильном месте, второе третье место необходимо было перенести ранее в коде, поскольку ошибка, которую они спасают, происходит в другом месте.

Услышано - ознакомьтесь с утверждениями об ошибках!