2012-03-09 10 views
6

Estoy usando Minitest como el corredor para mis pruebas funcionales, usando Selenium como el controlador para ejecutar el navegador. Cada prueba se modela como MiniTest :: Unit :: TestCase.¿Cómo hacer que minitest pare la ejecución en caso de falla?

Minitest informa el resumen de la ejecución cuando completa la ejecución de todas las pruebas. Las excepciones que se encontraron también se imprimen hacia el final de la ejecución. Me resulta difícil depurar cuando algo inesperado falla ya que se pierde el contexto de ejecución. Las excepciones con las que me estoy encontrando no son deterministas.

¿Hay alguna manera de hacer que Minitest runner detenga la ejecución de pruebas en caso de excepción o error de aserción?

estoy usando minitest (2.11.2) y el rubí 1.9.2p290 (2011-07-09) [i386-mingw32]

Respuesta

2

Creo que significa tener un "no rápido" opción disponible. Encontré el artículo fail_fast for minitest (Test::Unit): Immediate backtrace & exit, pero está desactualizado (aún cubre lo que se puede hacer). Creo que necesitará monopatchear su biblioteca de prueba para habilitar esta opción. Encontré un Gist que muestra cómo add a simple fail-fast option to minitest/turn/minitest-rails para que pueda llevarlo por el camino correcto. Entiendo su problema tiene que ver con el primer artículo que he referenciado:

Cuando ejecuto el conjunto de pruebas Unidad :: en mi rubí en los carriles 3 proyecto a través de rake test y una prueba está fallando, el comportamiento por defecto es solo imprime "F" o "E", sigue funcionando hasta que todas las pruebas hayan finalizado (mientras giro mis pulgares), y solo luego imprime un seguimiento de la pila.

-1

prueba rails test -f lo hará. Significa interrumpir la ejecución de prueba de la primera falla o error si ejecuta rails test -h

Cuestiones relacionadas