Jest: Jest debería `process.exit(0|1)` después de que las pruebas terminen de ejecutarse

Creado en 3 mar. 2017  ·  3Comentarios  ·  Fuente: facebook/jest


¿Desea solicitar una característica o informar un error ?
característica/error

¿Cuál es el comportamiento actual?
Si una biblioteca se comporta mal y no permite que el proceso finalice, el proceso se cuelga indefinidamente, aunque todas las pruebas pasan. Se podría argumentar que es posible que estas bibliotecas ni siquiera se estén comportando mal, ya que existen algunas razones válidas para no dejar que el proceso termine de forma natural.

Si el comportamiento actual es un error, proporcione los pasos para reproducir y una demostración de repl.it a través de https://repl.it/languages/jest o un repositorio mínimo en GitHub que podemos yarn install y yarn test .

¿Cuál es el comportamiento esperado?
Jest sale del proceso cuando se completan todas las pruebas y no hay nada más que Jest deba probar.

Proporcione su configuración exacta de Jest y mencione su Jest, nodo, versión de yarn/npm y sistema operativo.
No creo que sea relevante, pero aquí:

  • broma: v19.0.2
  • nodo: v7.7.1
  • npm: 4.1.2
  • hilo: 0.21.3
  • os: Linux 4.10.1-gentoo #4 SMP PREEMPT miércoles 1 de marzo 14:47:04 EST 2017 x86_64 Intel(R) Core(TM) i5-4300U CPU @ 1.90GHz GenuineIntel GNU/Linux

Comentario más útil

La respuesta no resolvió el problema...

Todos 3 comentarios

Para eso está --forceExit , pero es una escotilla de escape. Si Jest no sale, significa que no estás limpiando correctamente después de tus pruebas (usa afterAll ).

La respuesta no resolvió el problema...

@cpojer : ¿podría arrojar algo de luz sobre por qué esto se considera una escotilla de escape y no un comportamiento predeterminado?

Mi expectativa sería que invocar a Jest tenga el único propósito de ejecutar pruebas. Una vez que todos los bloques de prueba se han resuelto de una forma u otra, y cada bloque after* se ha procesado, ¿cuál es la razón para suponer que los procesos que sobreviven a Jest deberían continuar ejecutándose?

En mi opinión, estos deben eliminarse de forma predeterminada. Tenemos after* para una limpieza/apagado prolijo si es necesario, pero apuesto a que la mayoría de las veces una salida forzada no presentaría ningún problema.

¿Fue útil esta página
0 / 5 - 0 calificaciones