He configurado pruebas unitarias de JavaScript con JS Test Driver en Netbeans según este enlace . Sin embargo, a diferencia de los resultados en ese tutorial, no se ejecutan más pruebas después de que una aserción falla. ¿Cómo puedo cambiar este comportamiento?
Por ejemplo, dado este archivo de prueba:
El test.js
archivo:
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 de progreso muestra 50%, (2 pruebas), debería decir 33%.
El jsTestDriver.conf
archivo:
server: http://localhost:42442
load:
- test/lib/jasmine/jasmine.js
- test/lib/jasmine-jstd-adapter/JasmineAdapter.js
- test/unit/*.js
Puedo hacer que todas las pruebas se ejecuten por línea de comando. (En Windows PowerShell). Ejecutando de la siguiente manera, las pruebas no dejan de ejecutarse después de una falla:
java -jar $ env: JSTD \ JsTestDriver-1.3.5.jar --tests all --config jsTestDriver.conf
el jsTestDriver.conf
archivo
server: http://localhost:4244
load:
- test/lib/jasmine/jasmine.js
- test/lib/jasmine-jstd-adapter/JasmineAdapter.js
- test/unit/*.js
Las tres pruebas se ejecutan.
Respuestas:
Parece que en Chrome funciona bien.
Con respecto a Firefox como en el comentario, dijo que no es la respuesta correcta. He logrado que funcione parcialmente. El problema es cómo netbeans manejan las pruebas fallidas y cómo se inicia jstestdriver.jar. Sé que esto no resuelve el problema, pero apunta en la dirección correcta.
Pasos para reproducir esto.
Ya que estoy usando Linux. He localizado jstestdriver.properties de la carpeta de configuración de Netbeans para el usuario actual. En mi caso se encuentra en
/home/{user}/.netbeans/8.2/config/Preferences/org/netbeans/modules/javascript/jstestdriver.properties
Edite la propiedad de ubicación agregando argumentos a jstestdriver.jar --tests all --reset. Después de editar mis propiedades se ve así.
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
Repite 2 veces.
Después del segundo reinicio y ejecución, debe ejecutar todas las pruebas como se muestra en la imagen de arriba. Si puede agregar argumentos --tests all --reset para JS Test Driver en Netbeans, debería resolver el problema para que funcione como en Chrome.
fuente