O JsTestDriver no NetBeans para de testar após uma falha na asserção

178

Eu configurei o teste de unidade JavaScript com o JS Test Driver no Netbeans conforme este link . No entanto, diferentemente dos resultados desse tutorial, nenhum outro teste é executado após a falha de uma asserção. Como posso mudar esse comportamento?

Por exemplo, dado este arquivo de teste:

O test.jsarquivo:

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);
};

a barra de progresso mostra 50% (2 testes), ou seja, 33%.

insira a descrição da imagem aqui

O jsTestDriver.confarquivo:

server: http://localhost:42442
load:
  - test/lib/jasmine/jasmine.js
  - test/lib/jasmine-jstd-adapter/JasmineAdapter.js
  - test/unit/*.js

Eu posso ter todos os testes executados por linha de comando. (No Windows PowerShell). Executando da seguinte maneira, os testes não param de ser executados após uma falha:


java -jar $ env: JSTD \ JsTestDriver-1.3.5.jar --testa tudo --config jsTestDriver.conf

o jsTestDriver.confarquivo:

server: http://localhost:4244
load:
  - test/lib/jasmine/jasmine.js
  - test/lib/jasmine-jstd-adapter/JasmineAdapter.js
  - test/unit/*.js

Todos os três testes são executados.

CL22
fonte
8
Você tentou com outro navegador? Como está funcionando na linha de comando, presumo que a falha seja causada pelo netbeans ou pelo navegador.
Silu
3
isso vai te ajudar? jasmim --stop-on-failure = false jasmine.github.io/2.5/node.html#section-21
Lucas
Talvez os comentários aqui possam ajudar o stackoverflow.com/questions/22119193/…
Robert Fines
Eu acho que o manuseio de teste do netbeans é incorreto, pelo menos com o Mocha.
Duncan

Respostas:

1

Parece que no Chrome funciona bem. insira a descrição da imagem aqui

Em relação ao Firefox, como no comentário, disse que não é a resposta correta. Eu consegui fazê-lo funcionar parcialmente. O problema é como o netbeans lida com testes com falha e como o jstestdriver.jar é iniciado. Eu sei que isso não resolve o problema, mas está apontando na direção certa.

insira a descrição da imagem aqui

Passos para reproduzir isso.

  1. Inicie o JS Test Driver nos Serviços
  2. Teste de corrida.
  3. Desde que eu estou usando linux. Eu localizei jstestdriver.properties da pasta de configuração do Netbeans para o usuário atual. No meu caso, está localizado em

    /home/{user}/.netbeans/8.2/config/Preferences/org/netbeans/modules/javascript/jstestdriver.properties

    Edite a propriedade location adicionando argumentos ao jstestdriver.jar --tests all --reset. Depois de editar, minhas propriedades ficam assim.

    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. Repita 2 vezes.

    • Reinicie o JS Test Driver em Serviços.
    • Teste de corrida.

Após a segunda reinicialização e execução, ele deve executar todos os testes como na figura acima. Se você pode adicionar argumentos --tests all --reset para o JS Test Driver no Netbeans, deve resolver o problema para funcionar como no Chrome.

exp2Tapavicki
fonte