¿Cómo forzar un escenario de pepino para que falle?

¿Hay una manera de forzar un escenario de pepino para fallar?

Necesito verificar algunos escenarios fallidos al final de cada una de mis pruebas. Así que pensé que podía hacer la verificación de un cuadro de diálogo 'error' y luego fallar la prueba si ocurría.

Esto es posible con el siguiente código, sin embargo, hay un problema. Una vez que levanto la excepción en el fracaso! Funciona, luego Pepino deja de ejecutar el resto del Enganche posterior, por lo que no se llama a la función de cierre de sesión.

Estaba:

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

Ahora:

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

¿Hay una mejor manera de fallar una prueba de pepino sin hacer una excepción?

Respuestas a la pregunta(2)

Su respuesta a la pregunta