Jest: Jest sollte `process.exit(0|1)` nach Abschluss der Tests ausführen

Erstellt am 3. März 2017  ·  3Kommentare  ·  Quelle: facebook/jest


Möchten Sie eine Funktion anfordern oder einen Fehler melden?
Funktion/Fehler

Wie ist das aktuelle Verhalten?
Wenn sich eine Bibliothek schlecht verhält und den Prozess nicht beenden lässt, bleibt der Prozess auf unbestimmte Zeit hängen, obwohl alle Tests bestanden werden. Es könnte argumentiert werden, dass diese Bibliotheken sich möglicherweise nicht einmal schlecht benehmen, da es einige triftige Gründe gibt, den Prozess nicht auf natürliche Weise enden zu lassen.

Wenn das aktuelle Verhalten ein Fehler ist, stellen Sie bitte die zu reproduzierenden Schritte und entweder eine repl.it-Demo über https://repl.it/languages/jest oder ein minimales Repository auf GitHub bereit, das wir yarn install und yarn test .

Was ist das erwartete Verhalten?
Jest beendet den Prozess, wenn alle Tests abgeschlossen sind und Jest nichts mehr testen kann.

Bitte geben Sie Ihre genaue Jest-Konfiguration an und erwähnen Sie Ihre Jest-, Node-, Garn-/npm-Version und Ihr Betriebssystem.
Ich denke nicht, dass es relevant ist, aber hier:

  • Scherz: v19.0.2
  • Knoten: v7.7.1
  • npm: 4.1.2
  • Garn: 0.21.3
  • os: Linux 4.10.1-gentoo #4 SMP PREEMPT Wed Mar 1 14:47:04 EST 2017 x86_64 Intel(R) Core(TM) i5-4300U CPU @ 1.90GHz GenuineIntel GNU/Linux

Hilfreichster Kommentar

Die Antwort hat das Problem nicht gelöst...

Alle 3 Kommentare

Dafür ist --forceExit da, aber es ist eine Notluke. Wenn Jest nicht beendet wird, bedeutet dies, dass Sie nach Ihren Tests nicht richtig aufräumen (verwenden Sie afterAll ).

Die Antwort hat das Problem nicht gelöst...

@cpojer - könnten Sie etwas Licht ins Dunkel bringen, warum dies als Notausstieg und nicht als Standardverhalten angesehen wird?

Meine Erwartung wäre, dass das Aufrufen von Jest ausschließlich dem Zweck dient, Tests auszuführen. Wenn alle Testblöcke auf die eine oder andere Weise aufgelöst wurden und jeder after* -Block verarbeitet wurde, was ist der Grund für die Annahme, dass Prozesse, die Jest überleben, weiter ausgeführt werden sollten?

IMO sollten diese standardmäßig getötet werden. Wir haben nach* für ordentliches Aufräumen/Herunterfahren, wenn nötig, aber ich würde wetten, dass ein harter Ausgang die meiste Zeit keine Probleme bereiten würde.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen