J'utilise jest
pour les tests, et dans quelques scénarios de test, j'obtiens le message jest
:
Jest did not exit one second after the test run has completed.
Tout en prenant la recommandation de Jest de courir avec --detectOpenHandles
et se retrouvant avec un processus de test suspendu qui ne se termine jamais, j'ai vu d'autres suggestions en ligne pour ajouter le --forceExit
option également. Maintenant, le test se termine et tout va bien.
Il convient de mentionner que tous les tests fonctionnent correctement et passent, avec ou sans le --detectOpenHandles --forceExit
options.
Je me demande si cela est considéré comme la meilleure pratique dans de tels cas? ou me sert-il simplement de "premiers soins"? Quels en sont les effets secondaires?
À votre santé,
De la documentation, l'option detectOpenHandles
est pour:
Essayez de collecter et d'imprimer les poignées ouvertes empêchant Jest de sortir proprement. Utilisez-le dans les cas où vous devez utiliser --forceExit pour que Jest quitte pour potentiellement retrouver la raison. Cela implique --runInBand, ce qui rend l'exécution des tests en série. Implémenté à l'aide de async_hooks, il ne fonctionne donc que dans Node 8 et plus récent. Cette option présente une baisse significative des performances et ne doit être utilisée que pour le débogage.
L'option forceExit
ne doit jamais être utilisée comme meilleure pratique, la seule fois que vous devez l'utiliser est parce que: