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, aucun autre 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
dossier:
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
dossier:
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). S'exécutant comme suit, les tests ne s'arrêtent pas après un échec:
java -jar $ env: JSTD \ JsTestDriver-1.3.5.jar - teste tout --config jsTestDriver.conf
le 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.
Réponses:
On dirait que Chrome fonctionne bien.
Concernant Firefox comme dans le commentaire dit que 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 cela va dans la bonne direction.
Étapes pour reproduire cela.
Depuis que j'utilise Linux. J'ai localisé jstestdriver.properties dans le 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 un deuxième redémarrage et une 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.
la source