JsTestDriver su NetBeans interrompe il test dopo un'asserzione non riuscita


178

Ho impostato il test di unità JavaScript con JS Test Driver su Netbeans secondo questo link . Tuttavia, diversamente dai risultati di quel tutorial, non vengono più eseguiti test dopo che un'asserzione fallisce. Come posso cambiare questo comportamento?

Ad esempio, dato questo file di prova:

Il test.jsfile:

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);
};

la barra di avanzamento mostra il 50%, (2 test), dovrebbe essere il 33%.

inserisci qui la descrizione dell'immagine

Il jsTestDriver.conffile:

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

Posso eseguire tutti i test dalla riga di comando. (Su Windows PowerShell). Eseguendo come segue, i test non si fermano dopo un errore:


java -jar $ env: JSTD \ JsTestDriver-1.3.5.jar --trova tutto --config jsTestDriver.conf

il jsTestDriver.conffile:

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

Vengono eseguiti tutti e tre i test.


8
L'hai provato con un altro browser? Dal momento che funziona dalla riga di comando, suppongo che l'errore sia causato da netbeans o dal browser.
Silu,

3
questo ti aiuterà? jasmine --stop-on-failure = false jasmine.github.io/2.5/node.html#section-21
Luca

Forse i commenti qui possono aiutare stackoverflow.com/questions/22119193/…
Robert Fines,

Penso che la gestione dei test sui netbeans sia errata, almeno con Mocha.
Duncan,

Risposte:


1

Sembra che in Chrome funzioni bene. inserisci qui la descrizione dell'immagine

Per quanto riguarda Firefox come nel commento ha detto che non è la risposta corretta. Sono riuscito a farlo funzionare parzialmente. Il problema è come netbeans gestisce i test falliti e come viene avviato jstestdriver.jar. So che questo non risolve il problema, ma punta nella giusta direzione.

inserisci qui la descrizione dell'immagine

I passaggi per riprodurre questo.

  1. Avviare JS Test Driver dai servizi
  2. Esegui test.
  3. Da quando sto usando Linux. Ho trovato jstestdriver.properties dalla cartella di configurazione di Netbeans per l'utente corrente. Nel mio caso si trova in

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

    Modifica la proprietà location aggiungendo argomenti a jstestdriver.jar --tests all --reset. Dopo aver modificato le mie proprietà appare così.

    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. Ripeti 2 volte.

    • Riavviare JS Test Driver dai servizi.
    • Esegui test.

Dopo il secondo riavvio ed esecuzione, dovrebbe eseguire tutti i test come nella figura sopra. Se puoi aggiungere argomenti --test all - reset per JS Test Driver in Netbeans dovrebbe risolvere il problema per funzionare come in Chrome.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.