J'exécute des tests Jest via npm test
. Jest exécute des tests en parallèle par défaut. Existe-t-il un moyen de faire exécuter les tests de manière séquentielle?
J'ai quelques tests appelant du code tiers qui repose sur la modification du répertoire de travail actuel.
npm test --runInBand
? Offtopic: Je ne sais pas d'où vient le nom "groupe". --runSimilairement aurait probablement plus de sens :)npm test -- --runInBand
raison.Je me familiarise toujours avec Jest, mais il semble que les blocs de description fonctionnent de manière synchrone alors que les blocs de test fonctionnent de manière asynchrone. J'exécute plusieurs blocs de description dans une description externe qui ressemble à ceci:
Dans ce cas,
test3
ne s'exécute pas tant quetest2
n'est pas terminé car il setest3
trouve dans un bloc de description qui suit le bloc de description qui contienttest2
.la source
Cela a fonctionné pour moi en assurant l'exécution séquentielle de tests bien séparés en modules:
1) Conservez les tests dans des fichiers séparés, mais sans
spec/test
nom.2) Le fichier avec la suite de tests devrait également ressembler à ceci (testSuite1.js):
3) Importez-les
testToRunSequentially.test.js
et exécutez-les avec--runInBand
:la source
Utilisez le programme d'exécution de tests en série:
Configurez jest pour l'utiliser, par exemple dans jest.config.js:
Vous pouvez utiliser la fonctionnalité de projet pour l'appliquer uniquement à un sous-ensemble de tests. Voir https://jestjs.io/docs/en/configuration#projects-arraystring--projectconfig
la source
Tel que copié de https://github.com/facebook/jest/issues/6194#issuecomment-419837314
test.spec.js
signup.js
login.js
la source