JsTestDriver unter NetBeans beendet den Test nach einer fehlgeschlagenen Bestätigung

178

Ich habe JavaScript-Unit-Tests mit JS Test Driver auf Netbeans gemäß diesem Link eingerichtet . Im Gegensatz zu den Ergebnissen in diesem Lernprogramm werden jedoch keine weiteren Tests ausgeführt, nachdem eine Zusicherung fehlgeschlagen ist. Wie kann ich dieses Verhalten ändern?

Beispiel: Diese Testdatei:

Die test.jsDatei:

AssertionsTestCase = TestCase("AssertionsTestCase");

AssertionsTestCase.prototype.testAlwaysPass = function(){
  assertEquals(1, 1);
  assertEquals(2, 2);
};
AssertionsTestCase.prototype.testAlwaysFail1 = function(){
  assertEquals(1, 2);
};
AssertionsTestCase.prototype.testAlwaysFail2 = function(){
  assertEquals(3, 4);
};

Der Fortschrittsbalken zeigt 50% (2 Tests), es sollte 33% sagen.

Geben Sie hier die Bildbeschreibung ein

Die jsTestDriver.confDatei:

server: http://localhost:42442
load:
  - test/lib/jasmine/jasmine.js
  - test/lib/jasmine-jstd-adapter/JasmineAdapter.js
  - test/unit/*.js

Ich kann alle Tests über die Befehlszeile ausführen lassen. (Unter Windows PowerShell). Die Tests werden nach einem Fehler nicht beendet:


java -jar $ env: JSTD \ JsTestDriver-1.3.5.jar - testet alle --config jsTestDriver.conf

die jsTestDriver.confDatei:

server: http://localhost:4244
load:
  - test/lib/jasmine/jasmine.js
  - test/lib/jasmine-jstd-adapter/JasmineAdapter.js
  - test/unit/*.js

Alle drei Tests werden ausgeführt.

CL22
quelle
8
Hast du es mit einem anderen Browser versucht? Da es über die Befehlszeile funktioniert, gehe ich davon aus, dass der Fehler durch NetBeans oder den Browser verursacht wird.
Silu
3
Wird dir das helfen? Jasmin - Stop-on-Failure = falsch Jasmin.github.io/2.5/node.html#section-21
Luke
Vielleicht können die Kommentare hier helfen stackoverflow.com/questions/22119193/…
Robert Fines
Ich denke, Netbeans Test Handling ist fehlerhaft, zumindest mit Mocha.
Duncan

Antworten:

1

Scheint wie in Chrome funktioniert gut. Geben Sie hier die Bildbeschreibung ein

In Bezug auf Firefox wie im Kommentar gesagt, ist es nicht die richtige Antwort. Ich habe es geschafft, es teilweise zum Laufen zu bringen. Das Problem ist, wie Netbeans mit fehlgeschlagenen Tests umgehen und wie jstestdriver.jar gestartet wird. Ich weiß, dass dies das Problem nicht löst, aber es zeigt in die richtige Richtung.

Geben Sie hier die Bildbeschreibung ein

Schritte, um dies zu reproduzieren.

  1. Starten Sie den JS-Testtreiber über die Dienste
  2. Lauftest.
  3. Da benutze ich Linux. Ich habe jstestdriver.properties aus dem Netbeans-Konfigurationsordner für den aktuellen Benutzer gefunden. In meinem Fall befindet es sich in

    /home/{user}/.netbeans/8.2/config/Preferences/org/netbeans/modules/javascript/jstestdriver.properties

    Bearbeiten Sie die Eigenschaft location, indem Sie jstestdriver.jar --tests all --reset Argumente hinzufügen. Nach der Bearbeitung sehen meine Eigenschaften so aus.

    location=/home/user/Downloads/jstestdriver-1.3.5.jar --tests all --reset server.url=http://localhost:42442 strict.mode=false use.browser.ANDROID_DEVICE_CHROME=false use.browser.ANDROID_DEVICE_DEFAULT=false use.browser.ANDROID_EMULATOR_DEFAULT=false use.browser.Chrome=false use.browser.Chrome.INTEGRATED=false use.browser.SL__Browsers_FirefoxBrowser=true use.browser.SL__Browsers_MozillaBrowser=false

  4. 2 mal wiederholen.

    • Starten Sie den JS-Testtreiber über die Dienste neu.
    • Lauftest.

Nach dem zweiten Neustart und Ausführen sollten alle Tests wie in der Abbildung oben ausgeführt werden. Wenn Sie Argumente hinzufügen können --tests all --reset für JS Test Driver in Netbeans, sollte das Problem behoben sein, damit es wie in Chrome funktioniert.

exp2Tapavicki
quelle