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.js
arquivo:
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%.
O jsTestDriver.conf
arquivo:
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.conf
arquivo:
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.
Respostas:
Parece que no Chrome funciona bem.
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.
Passos para reproduzir isso.
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
Repita 2 vezes.
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.
fonte