Jest: Jest devrait `process.exit (0 | 1)` après la fin des tests

Créé le 3 mars 2017  ·  3Commentaires  ·  Source: facebook/jest


Vous souhaitez demander une fonctionnalité ou signaler un bug ?
fonctionnalité/bogue

Quel est le comportement actuel ?
Si une bibliothèque se comporte mal et ne laisse pas le processus se terminer, alors le processus se bloque indéfiniment, bien que tous les tests réussissent. On pourrait faire valoir que ces bibliothèques ne se comportent peut-être même pas mal, car il existe des raisons valables de ne pas laisser le processus se terminer naturellement.

Si le comportement actuel est un bogue, veuillez fournir les étapes à reproduire et soit une démo repl.it via https://repl.it/languages/jest ou un référentiel minimal sur GitHub que nous pouvons yarn install et yarn test .

Quel est le comportement attendu ?
Jest quitte le processus lorsque tous les tests sont terminés et qu'il n'y a plus rien à tester pour Jest.

Veuillez fournir votre configuration Jest exacte et mentionner votre version Jest, node, yarn/npm et votre système d'exploitation.
Je ne pense pas que ce soit pertinent, mais ici:

  • plaisanterie : v19.0.2
  • nœud : v7.7.1
  • npm : 4.1.2
  • fil : 0.21.3
  • système d'exploitation : Linux 4.10.1-gentoo #4 SMP PREEMPT Wed Mar 1 14:47:04 EST 2017 x86_64 Processeur Intel(R) Core(TM) i5-4300U à 1,90 GHz GenuineIntel GNU/Linux

Commentaire le plus utile

La réponse n'a pas résolu le problème...

Tous les 3 commentaires

C'est à ça que sert --forceExit mais c'est une issue de secours. Si Jest ne se ferme pas, cela signifie que vous ne nettoyez pas correctement après vos tests (utilisez afterAll ).

La réponse n'a pas résolu le problème...

@cpojer - pourriez-vous nous expliquer pourquoi cela est considéré comme une trappe d'évacuation et non comme un comportement par défaut ?

Je m'attends à ce que l'invocation de Jest soit dans le seul but d'exécuter des tests. Une fois que tous les blocs de test ont été résolus d'une manière ou d'une autre et que chaque bloc after* a été traité, quelle est la raison de supposer que les processus qui survivent à Jest doivent continuer à s'exécuter ?

IMO, ceux-ci devraient être tués par défaut. Nous avons après * pour un nettoyage / arrêt soigné si nécessaire, mais je parierais que la plupart du temps, une sortie difficile ne présenterait aucun problème.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

jardakotesovec picture jardakotesovec  ·  3Commentaires

kgowru picture kgowru  ·  3Commentaires

paularmstrong picture paularmstrong  ·  3Commentaires

nsand picture nsand  ·  3Commentaires

excitement-engineer picture excitement-engineer  ·  3Commentaires