J'ai mis en place des tests unitaires JavaScript avec JS Test Driver sur Netbeans selon ce lien . Cependant, contrairement aux résultats de ce didacticiel, plus aucun test n'est exécuté après l'échec d'une assertion. Comment puis-je changer ce comportement?
Par exemple, étant donné ce fichier de test:
Le test.js
fichier:
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 barre de progression affiche 50%, (2 tests), il faut dire 33%.
Le jsTestDriver.conf
fichier:
server: http://localhost:42442
load:
- test/lib/jasmine/jasmine.js
- test/lib/jasmine-jstd-adapter/JasmineAdapter.js
- test/unit/*.js
Je peux faire exécuter tous les tests par ligne de commande. (Sur Windows PowerShell). En cours d'exécution comme suit, les tests ne s'arrêtent pas après un échec:
Java -jar $ env: JSTD\JsTestDriver-1.3.5.jar --tests all --config jsTestDriver.conf
les jsTestDriver.conf
fichier:
server: http://localhost:4244
load:
- test/lib/jasmine/jasmine.js
- test/lib/jasmine-jstd-adapter/JasmineAdapter.js
- test/unit/*.js
Les trois tests sont exécutés.
On dirait que dans Chrome fonctionne bien.
En ce qui concerne Firefox, comme indiqué dans le commentaire, ce n'est pas la bonne réponse. J'ai réussi à le faire fonctionner partiellement. Le problème est de savoir comment les netbeans gèrent les tests qui ont échoué et comment jstestdriver.jar est démarré. Je sais que cela ne résout pas le problème, mais il pointe dans la bonne direction.
Étapes pour reproduire cela.
Depuis que j'utilise linux. J'ai localisé jstestdriver.properties à partir du dossier de configuration Netbeans pour l'utilisateur actuel. Dans mon cas, il est situé dans
/home/{user}/.netbeans/8.2/config/Preferences/org/netbeans/modules/javascript/jstestdriver.properties
Modifiez la propriété d'emplacement en ajoutant des arguments à jstestdriver.jar --tests all --reset. Après avoir modifié mes propriétés, cela ressemble à ceci.
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
Répétez 2 fois.
Après le deuxième redémarrage et l'exécution, il devrait exécuter tous les tests comme dans l'image ci-dessus. Si vous pouvez ajouter des arguments --tests all --reset pour JS Test Driver dans Netbeans, cela devrait résoudre le problème pour fonctionner comme dans Chrome.