2016-12-05 1 views
0

Webstorm hat eine großartige Testlaufunterstützung, mit der ich meine Testsuite starten kann, indem ich sage "führe die Datei testStart.js" aus. Ich kann dann testStart.js definieren, um das Setup für meine Testumgebung (zB Erstellen einer Sinon-Sandbox) durchzuführen und alle Tests selbst mitzubringen.Webstorm: Wie führe ich das Testsetup für Whole Suite AND Einzeltests aus?

Das funktioniert gut, wenn ich die ganze Suite laufen lasse. Aber Webstorm verfügt über eine Funktion, mit der Sie nur einen einzelnen fehlgeschlagenen Test erneut ausführen können. Wenn ich diese Funktion verwende, rufe ich ein Problem auf: Mein Test-Setup-Code wird nicht ausgeführt, weil die einzelne Testdatei nicht aufgerufen wird der Setup-Code.

Also, ich bin auf der Suche nach einer Lösung. Die einzigen Optionen, ich sehe so weit sind:

  • stattdessen eine separate testStart.js Datei mit Ich konnte den Setup-Code in eine testSetup.js Datei bewegen und jeden Test es erforderlich machen. Nachteil: Ich muß daran denken, die Setup-Datei in jeder einzelnen Test-Datei zu importieren

  • Verwendung Mokka ist (gegenüber nie in meinem derzeitigen Schema importieren zu müssen) --require Option ein testSetup.js auszuführen. Nachteil:-Code erfordern-ed auf diese Weise keinen Zugriff auf den Code Mokka, also bin ich nicht sicher, wie ich beforeEach/afterEach

  • Gebrauch einige andere Mokka oder WebStorm Option nennen kann, die ich don‘ Ich weiß, dass ich den Test-Setup-Code ausführen muss. Nachteil: nicht sicher, ob eine solche Option besteht auch

Wenn jemand anderes für dieses Problem laufen hat in ich würde gerne hören, wenn eine der oben genannten Lösungen arbeiten gemacht werden (oder wenn ein anderer es Lösung hatte ich nicht berücksichtigt).

Antwort

0

Ich wickelte einfach importieren testSetup.js in jede Testdatei. Es war ein Schmerz und verletzte das DRY-Prinzip, aber es funktionierte.

Wenn jemand eine bessere Lösung hat, nehme ich es gerne an.

+0

In Bezug auf bessere Lösungen, Ihre Frage ist 90% Duplikat von Fragen bereits zu diesem Problem gestellt. Der einzige Unterschied ist, dass die zuvor gestellten Fragen Webstorm nicht als Faktor hatten. Siehe [this] (http://stackoverflow.com/q/28191243/1906307) und [this] (http://stackoverflow.com/q/24153261/1906307) zum Beispiel. – Louis

+0

Danke für die Links, obwohl sie leider keine besseren Lösungen anbieten :( – machineghost

Verwandte Themen