JsTestDriver sur NetBeans arrête le test après l'échec d'une assertion

178

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.jsdossier:

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

entrez la description de l'image ici

Le jsTestDriver.confdossier:

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.conffichier:

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.

CL22
la source
8
L'avez-vous essayé avec un autre navigateur? Puisqu'il fonctionne à partir de la ligne de commande, je suppose que l'échec est causé par netbeans ou le navigateur.
Silu
3
cela vous aidera-t-il? jasmine --stop-on-failure = false jasmine.github.io/2.5/node.html#section-21
Luc
Peut-être que les commentaires ici peuvent aider stackoverflow.com/questions/22119193/…
Robert Fines
Je pense que la gestion des tests netbeans est boguée, du moins avec Mocha.
Duncan

Réponses:

1

On dirait que Chrome fonctionne bien. entrez la description de l'image ici

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.

entrez la description de l'image ici

É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 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

  4. Répétez 2 fois.

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

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.

exp2Tapavicki
la source