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.js
Datei:
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.
Die jsTestDriver.conf
Datei:
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.conf
Datei:
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.
Antworten:
Scheint wie in Chrome funktioniert gut.
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.
Schritte, um dies zu reproduzieren.
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
2 mal wiederholen.
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.
quelle