2015-11-08 8 views
10

Ich installiere Webstorm 11 und möchte meine Tests (für node.js App) mit Jasmine durchgeführt werden. Aber es ist nicht einfach, das zu tun. Ich könnte einfach in die Befehlszeile 'Jasmine' eintippen und der Test wird ausgeführt, aber in diesem Fall kann ich keinen Code debuggen. Gibt es also eine Möglichkeit, Webstorm so zu konfigurieren, dass er mit Jasmin-Spezifikationen zurechtkommt?Run/debug node.js Testfälle mit Jasmin in Webstorm 11

+0

ausführen Warum nicht https://www.jetbrains.com/webstorm/help/enabling-javascript-unit-testing-support.html – timothyclifford

Antwort

9

Ok, also während niemand Antwort im Moment versuche ich meine Version zu bieten: Diese Strömung erlauben wird, Jasmin testsute von Webstrom und Debug laufen Testfälle

  1. installieren Jasmin (ither lokal oder global)
  2. in Projektordnern Ordner 'spec/support' in diesem Ordner Ort jasmine.json

    Tests Konfigurationsbeispiel erstellen:

    { 
    "spec_dir": "tests", 
    "spec_files": [ 
        "**/*[sS]pec.js" 
    ], 
    "helpers": [ 
        "helpers/**/*.js" 
    ] 
    } 
    
  3. erstellen node.js Konfiguration in WebStorm

  4. In dieser Konfiguration wählen Quelldatei - Jasmin ausführbare Datei (für localy Jasmin installiert wird es 'node_modules\jasmine\bin\jasmine.js')

So sind Sie bereit. Jedoch zum gegenwärtigen Zeitpunkt, wenn diese Konfiguration zu debuggen versuchen - es wird mit Fehler:

Cannot stop on breakpoint due to internal error org.jetbrains.v8.V8CommandProcessor$1:

Wenn Sie mit ihm konfrontiert - Sie Webstom müssen Konfiguration ändern und diese Einstellungen:

-Dnodejs.debugger.use.jb.support=false Weitere Details überprüfen there:

So können Sie Jasmin Tests ausführen und debuggen. Allerdings gibt es noch einige Dinge, die diese Lösung nicht in der Lage zu tun:

  1. Führen Sie einzelne Testfälle
  2. Führen Sie einzelne Testfälle mit der rechten Maustaste und Start-Befehl aus dem Menü

Jetbrains, wenn Sie lesen dies - bitte beheben Sie dies bereits. Ich habe vor drei Jahren mit dem Knoten in Webstorm angefangen und seit diesem Moment und Dutzenden von Versionen gibt es immer noch keine gute Möglichkeit, Tests durchzuführen. Es ist lächerlich.

+0

irgendwelche Nachrichten zu diesem Thema? –

0

Jasmin arbeitet mit dem JSTestDriver, die Sie bekommen out-of-the-box mit WebStorm 11: https://www.jetbrains.com/webstorm/help/enabling-javascript-unit-testing-support.html

Diese Seite beschreibt auch, wie Jasmin in JSTestDriver hinzuzufügen: https://www.jetbrains.com/webstorm/help/preparing-to-use-jstestdriver-test-runner.html

Auf hohem Niveau Sie gehen zu:

  1. installieren JSTestDriver von JetBrains Plugin Repo
  2. konfigurieren es als W ebStorm JavaScript-Bibliothek (https://www.jetbrains.com/webstorm/help/configuring-javascript-libraries.html#configure)
  3. öffnen jsTestDriver.conf und geben Sie den folgenden Code in es:

Last:

lib/Jasmin/jasmine.js

lib/Jasmin-jstd- adapter/JasmineAdapter.js

+1

JsTestDriver wird standardmäßig nicht mit Webstrom ausgeliefert. Sie müssen ein zusätzliches Plugin installieren, um es verwenden zu können. Es sieht jedoch so aus, als ob JsTestDriver selbst aufgegebenes Projekt ist, das überhaupt nicht mehr wartet (sieht aus wie letztes Release vor 3-4 Jahren) und es ist nicht klar, ob es node.js unterstützt oder nur für Clientside js. Bei all diesen Fragen halte ich das für keine Option. – Ph0en1x

+0

Schauen Sie sich die Karma-Dokumentation an, dann unterstützt das auch Jasime: https://www.jetbrains.com/webstorm/help/preparing-to-use-karma-test-runner.html – timothyclifford

+2

Noch einmal, Karma - ist ein Klientenseite js prüft Läufer. Es ist gut für eckig, aber nicht für node.js – Ph0en1x

0

WebStorm verwaltet den Test nicht direkt. Dieser Job wird von einem Testläufer erledigt. WebStorm unterstützt mehrere Testläufer - Mocha, Karma, JsTestDriver, Knoteneinheit. Die meisten von ihnen können Jasmine Tests

+0

Ich denke, du liegst falsch. Aber vielleicht nicht. Könnten Sie mir einen Algorithmus zur Verfügung stellen - wie ich NODE.JS Jasmine-Base-Testfälle mit Mocha oder Knoteneinheit ausführen könnte (nur sie könnten serverseitige js-Tests ausführen, funktionieren Karma und JsTestDriver nur für den Client). Ich möchte nichts Außergewöhnliches - einfach auf die rechte Maustaste klicken und einen einzelnen Testfall ausführen. Sollte für "intelligenteste Javascript-IDE der Welt" einfach sein, oder? – Ph0en1x

Verwandte Themen