react node_env example jestjs

jestjs - node_env - ¿Cómo ejecutar las pruebas de Jest secuencialmente?



jest react install (4)

Estoy ejecutando pruebas de Jest a través de la 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 al código de terceros que se basa en cambiar el directorio de trabajo actual.


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 en los nombres.

|__testsToRunSequentially.test.js |__tests |__testSuite1.js |__testSuite2.js |__index.js

2) El archivo con el conjunto de pruebas también debería verse así (testSuite1.js):

export const testSuite1 = () => describe(/*your suite inside*/)

3) Importarlos a testToRunSequentially.test.js y ejecutar con --runInBand :

import { testSuite1, testSuite2 } from ''./tests'' describe(''sequentially run tests'', () => { testSuite1() testSuite2() })


Las opciones de CLI no están documentadas pero son accesibles ejecutando el comando jest --help .

Luego, verá la opción que está buscando: --runInBand .


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:

describe describe test1 test2 describe test3

En este caso, test3 no se ejecuta hasta que test2 se complete porque test3 está en un bloque de descripción que sigue al bloque de descripción que contiene test2 .


Utilice el corredor de prueba en serie:

npm install jest-serial-runner --save-dev

Configure jest para usarlo, por ejemplo, en jest.config.js:

module.exports = { ..., runner: ''jest-serial-runner'' };

Puede usar la función de proyecto para usarla solo para un subconjunto de pruebas.