Skonfigurowałem testy jednostkowe JavaScript z JS Test Driver na Netbeans zgodnie z tym linkiem . Jednak w przeciwieństwie do wyników w tym samouczku, nie powiedzie się więcej testów po niepowodzeniu asercji. Jak mogę zmienić to zachowanie?
Na przykład, biorąc pod uwagę ten plik testowy:
test.js
Pliku:
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);
};
pasek postępu pokazuje 50% (2 testy), powinien powiedzieć 33%.
jsTestDriver.conf
Pliku:
server: http://localhost:42442
load:
- test/lib/jasmine/jasmine.js
- test/lib/jasmine-jstd-adapter/JasmineAdapter.js
- test/unit/*.js
Mogę mieć wszystkie testy uruchamiane z linii poleceń. (W Windows PowerShell). Uruchomione w następujący sposób, testy nie przestają działać po awarii:
java -jar $ env: JSTD \ JsTestDriver-1.3.5.jar - testuje wszystkie --config jsTestDriver.conf
jsTestDriver.conf
pliku:
server: http://localhost:4244
load:
- test/lib/jasmine/jasmine.js
- test/lib/jasmine-jstd-adapter/JasmineAdapter.js
- test/unit/*.js
Wszystkie trzy testy są uruchamiane.
Odpowiedzi:
Wygląda na to, że w Chrome działa dobrze.
Odnośnie Firefox jak w komentarzu powiedział, że to nieprawidłowa odpowiedź. Udało mi się częściowo uruchomić. Problem polega na tym, jak netbeans obsługuje nieudane testy i jak uruchamia się plik jstestdriver.jar. Wiem, że to nie rozwiązuje problemu, ale wskazuje właściwy kierunek.
Kroki prowadzące do odtworzenia tego.
Ponieważ używam Linuksa. Znalazłem plik jstestdriver.properties z folderu konfiguracji Netbeans dla bieżącego użytkownika. W moim przypadku znajduje się w
/home/{user}/.netbeans/8.2/config/Preferences/org/netbeans/modules/javascript/jstestdriver.properties
Edytuj właściwość lokalizacji, dodając argumenty do pliku jstestdriver.jar --tests all --reset. Po edycji moje właściwości wyglądają tak.
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
Powtórz 2 razy.
Po drugim ponownym uruchomieniu i uruchomieniu powinien uruchomić wszystkie testy, jak na powyższym obrazku. Jeśli możesz dodać argumenty - testuje wszystko - zresetowane dla JS Test Driver w Netbeans, powinno rozwiązać problem, aby działał jak w Chrome.
źródło