jak zmusić scenariusz ogórka do porażki?

Czy istnieje sposób, aby zmusić scenariusz ogórka do porażki?

Muszę sprawdzić kilka nieudanych scenariuszy na koniec każdego z moich testów. Pomyślałem więc, że mogę sprawdzić okno dialogowe „błąd”, a następnie nie udać się, jeśli to się stało.

Jest to możliwe dzięki poniższemu kodowi, jednak istnieje problem. Raz podniosę wyjątek w niepowodzeniu! funkcja, a następnie ogórek przestaje uruchamiać resztę haka After, więc funkcja wylogowania nie jest wywoływana.

Było:

After() do |scenario|  
  #Checking for Error popups
  if page.has_selector?(:dialog_message, 1, :text => 'Error')
    fail!(raise(ArgumentError.new('Unexpected Error dialog!')))
  end
  logout
end

Teraz:

After() do |scenario|  
  #Checking for Error popups
  if page.has_selector?(:dialog_message, 1, :text => 'Error')
    scenario.fail!(logout)
  end
end

Czy jest lepszy sposób na nieudany test ogórka bez zgłaszania wyjątku?

questionAnswers(2)

yourAnswerToTheQuestion