Estou executando testes Jest via npm test
. Jest executa testes em paralelo por padrão. Existe alguma maneira de executar os testes sequencialmente?
Eu tenho alguns testes chamando código de terceiros que depende da alteração do diretório de trabalho atual.
npm test --runInBand
? Offtopic: não sei de onde vem o nome "band". --runSequentially provavelmente faria mais sentido :) #npm test -- --runInBand
está correto.Ainda estou me familiarizando com o Jest, mas parece que os blocos de descrição são executados de forma síncrona, enquanto os blocos de teste são executados de forma assíncrona. Estou executando vários blocos de descrição dentro de uma descrição externa que se parece com isso:
Nesse caso,
test3
não é executado até quetest2
esteja completo porquetest3
está em um bloco de descrição que segue o bloco de descrição que contémtest2
.fonte
Ele trabalhou para mim, garantindo a execução sequencial de testes bem separados para módulos:
1) Mantenha os testes em arquivos separados, mas sem
spec/test
nomear.2) O arquivo com o conjunto de testes também deve ter a seguinte aparência (testSuite1.js):
3) Importe-os para
testToRunSequentially.test.js
e execute com--runInBand
:fonte
Use o corredor de teste serial:
Configure o jest para usá-lo, por exemplo, em jest.config.js:
Você pode usar o recurso de projeto para aplicá-lo apenas a um subconjunto de testes. Consulte https://jestjs.io/docs/en/configuration#projects-arraystring--projectconfig
fonte
Como copiado de https://github.com/facebook/jest/issues/6194#issuecomment-419837314
test.spec.js
signup.js
login.js
fonte