Estoy ejecutando pruebas de Jest vía npm test
. Jest ejecuta pruebas en paralelo de forma predeterminada. ¿Hay alguna forma de hacer que las pruebas se ejecuten secuencialmente?
Tengo algunas pruebas que llaman a código de terceros que se basa en cambiar el directorio de trabajo actual.
npm test --runInBand
? Offtopic: No estoy seguro de dónde viene el nombre "banda". --runSequentially probablemente tendría más sentido :)npm test -- --runInBand
es correcto.Todavía me estoy familiarizando con Jest, pero parece que los bloques de descripción se ejecutan sincrónicamente, mientras que los bloques de prueba se ejecutan de forma asincrónica. Estoy ejecutando múltiples bloques de descripción dentro de una descripción externa que se parece a esto:
En este caso,
test3
no se ejecuta hasta quetest2
se completa porquetest3
está en un bloque de descripción que sigue al bloque de descripción que contienetest2
.fuente
Funcionó para mí asegurando la ejecución secuencial de pruebas bien separadas para módulos:
1) Mantenga las pruebas en archivos separados, pero sin
spec/test
nombrarlos.2) El archivo con el conjunto de pruebas también debería tener este aspecto (testSuite1.js):
3) Importarlos
testToRunSequentially.test.js
y ejecutarlos con--runInBand
:fuente
Utilice el corredor de prueba en serie:
Configure jest para usarlo, por ejemplo, en jest.config.js:
Puede usar la función de proyecto para aplicarla solo a un subconjunto de pruebas. Ver https://jestjs.io/docs/en/configuration#projects-arraystring--projectconfig
fuente
Copiado de https://github.com/facebook/jest/issues/6194#issuecomment-419837314
test.spec.js
signup.js
login.js
fuente