pepino

2009-12-04 22 views
6

SO Folk,pepino

Cualquier persona en torno a estas partes saben si se puede mantener pepino desde la depuración de los datos de prueba al final de una carrera? Tengo algunas pruebas que siguen fallando y me gustaría echarle un vistazo a los datos que respaldan esas pruebas ...

¿Alguna idea?

Gracias! Cory Wilkerson

+1

Es posible que tenga que explicar un poco más con ejemplos. ¿Que estás tratando de hacer? ¿Qué quieres decir con "limpieza"? ¿Puedes ejecutar las pruebas individualmente y obtener un buen resultado? ¿Está fallando todo el paquete? – bojo

+0

Lo siento, eso fue bastante claro. No estoy teniendo un problema con Pepino mismo, en absoluto. Las pruebas se están ejecutando como espero. Solo tenía curiosidad si podía evitar que Cucumber truncara/depurara los datos de prueba que se crean durante las pruebas de Cucumber desde mi base de datos local para poder investigar mejor la causa de las fallas de prueba (no las fallas de Framework/Cucumber). Gracias por el voto en negativo. – Cory

Respuesta

5

En el archivo features/support/env.rb hay algunos comentarios acerca esta. Si no desea retrotraer la base de datos después de que un escenario particular haya terminado, agregue la etiqueta @no-txn al escenario. Luego deberá limpiar el db usted mismo. La forma más fácil es hacer un db:test:clone.

La mejor manera de solucionar sus problemas sería ejecutar los escenarios de problemas individualmente y ver cómo falla cada uno. Si haces una corrida y tienes escenarios que dejan datos en la BD, entonces te causarás todo tipo de problemas. Una vez que haya arreglado el escenario, haga un db:test:clone antes de trabajar en el siguiente o hacer una corrida.

+0

Gracias Joseph, precisamente lo que estaba buscando. – Cory

1

Un poco hackish, pero como último recurso, tal vez podría agregar un bloque Then llamado "Then pause tests" que se detiene o entra en un ciclo de sondeo y no continúa hasta que ve alguna condición cambiar (por ejemplo, toca /features/continue.txt)?

Stick "Luego haga una pausa en las pruebas" en la prueba que desea examinar, y tiene una forma de inspeccionar la base de datos antes de que continúe. Por supuesto, esto no funciona si se utiliza pepino transacciones de bases de datos ...

(Lo siento por la vaguedad, sino que ha pasado un tiempo desde la última vez utilicé pepino.)

+0

o "Entonces quiero depurar" –

3

Aquí está la definitino para la etapa de depuración he mencionado en el comentario a Sam Livingston-Gris:

When /I want to debug/i do 
    debugger 
    true # never put debugger at the end of a method 
end