javascript - JsTestDriver în NetBeans se oprește din testare după o afirmație eșuată
Am configurat testarea unitară JavaScript cu JS Test Driver pe Netbeans conform acestui link. Cu toate acestea, spre deosebire de rezultatele din acel tutorial, nu se mai execută teste după ce o aserțiune eșuează. Cum pot schimba acest comportament?
De exemplu, având acest fișier de test:
Fișierul test.js:
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);
};
bara de progres arată 50%, (2 teste), ar trebui să spună 33%.
Fișierul jsTestDriver.conf:
server: http://localhost:42442
load:
- test/lib/jasmine/jasmine.js
- test/lib/jasmine-jstd-adapter/JasmineAdapter.js
- test/unit/*.js
Pot rula toate testele din linia de comandă. (Pe Windows PowerShell). Rulând astfel, testele nu se opresc după o eroare:
java -jar $env:JSTD\JsTestDriver-1.3.5.jar --tests all --config jsTestDriver.conf
fișierul jsTestDriver.conf:
server: http://localhost:4244
load:
- test/lib/jasmine/jasmine.js
- test/lib/jasmine-jstd-adapter/JasmineAdapter.js
- test/unit/*.js
Toate cele trei teste sunt efectuate.
Răspuns #1
Se pare că în Chrome funcționează bine.
Referitor la Firefox, așa cum s-a spus în comentariu, nu este răspunsul corect. Am reușit să-l fac să funcționeze parțial. Problema este modul în care NetBeans gestionează testele eșuate și cum este pornit jstestdriver.jar. Știu că asta nu rezolvă problema, dar indică direcția corectă.
Pași pentru a reproduce acest lucru.
- Porniți JS Test Driver din Servicii
- Rulează testul.
Deoarece folosesc Linux, am localizat jstestdriver.properties din folderul de configurare Netbeans pentru utilizatorul curent. În cazul meu, acesta se află în
/home/{user}/.netbeans/8.2/config/Preferences/org/netbeans/modules/javascript/jstestdriver.propertiesEditează proprietatea locației adăugând argumente la jstestdriver.jar --tests all --reset. După editare, proprietățile mele arată astfel.
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=falseRepetă de 2 ori.
- Reporniți JS Test Driver din Servicii.
- Rulează testul.
După al doilea restart și rulare, ar trebui să ruleze toate testele așa cum se arată în imaginea de mai sus. Dacă poți adăuga argumentele --tests all --reset pentru JS Test Driver în Netbeans, ar trebui să rezolve problema și să funcționeze așa cum funcționează în Chrome.

