JsTestDriver na NetBeans przestaje testować po nieudanym asercji

178

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.jsPliku:

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%.

wprowadź opis zdjęcia tutaj

jsTestDriver.confPliku:

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.confpliku:

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.

CL22
źródło
8
Czy wypróbowałeś to w innej przeglądarce? Ponieważ działa z wiersza poleceń, zakładam, że przyczyną awarii jest netbeans lub przeglądarka.
Silu,
3
to ci pomoże? jaśmin
Łukasz
Może komentarze tutaj mogą pomóc stackoverflow.com/questions/22119193/…
Robert Fines
Myślę, że obsługa testów Netbeans jest błędna, przynajmniej w przypadku Mocha.
Duncan

Odpowiedzi:

1

Wygląda na to, że w Chrome działa dobrze. wprowadź opis zdjęcia tutaj

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.

wprowadź opis zdjęcia tutaj

Kroki prowadzące do odtworzenia tego.

  1. Uruchom sterownik testowy JS z usług
  2. Uruchom test.
  3. 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

  4. Powtórz 2 razy.

    • Uruchom ponownie sterownik testowy JS z usług.
    • Uruchom test.

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.

exp2Tapavicki
źródło