web-dev-qa-db-fra.com

JsTestDriver sur NetBeans arrête les tests après une assertion ayant échoué

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

enter image description here

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.

178
CL22

On dirait que dans Chrome fonctionne bien. enter image description here

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.

enter image description here

Étapes pour reproduire cela.

  1. Démarrer le pilote de test JS à partir des services
  2. Exécutez le test.
  3. 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

  4. Répétez 2 fois.

    • Redémarrez le pilote de test JS à partir des services.
    • Exécutez le test.

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.

1
exp2Tapavicki