我已经按照this Link在Netbeans上使用JS测试驱动程序设置了JavaScript单元测试。但是,与本教程中的结果不同的是,断言失败后不再执行测试。我如何才能改变这种行为?
例如,给定以下测试文件:
test.js
文件:
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);
};
进度条显示50%,(2个测试),应该是33%。
jsTestDriver.conf
文件:
server: http://localhost:42442
load:
- test/lib/jasmine/jasmine.js
- test/lib/jasmine-jstd-adapter/JasmineAdapter.js
- test/unit/*.js
我可以通过命令行来运行所有的测试。(在Windows PowerShell上)。按如下方式运行,测试在失败后不会停止运行:
java -jar $env:JSTD\JsTestDriver-1.3.5.jar --测试全部--配置jsTestDriver.conf
jsTestDriver.conf
文件:
server: http://localhost:4244
load:
- test/lib/jasmine/jasmine.js
- test/lib/jasmine-jstd-adapter/JasmineAdapter.js
- test/unit/*.js
所有三个测试都已运行。
发布于 2017-11-20 03:10:40
在Chrome中似乎运行得很好。
关于火狐在评论中说这不是正确的答案。我已经设法让它部分地工作了。问题在于netbeans如何处理失败的测试,以及jstestdriver.jar是如何启动的。我知道这不能解决问题,但它指向了正确的方向。
重现它的步骤。
/home/{user}/.netbeans/8.2/config/Preferences/org/netbeans/modules/javascript/jstestdriver.properties
通过将参数添加到jstestdriver.jar --test all --reset来编辑location属性。编辑属性后,我的属性如下所示。
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
- Restart JS Test Driver from Services.
- Run test.
在第二次重启和运行后,它应该会运行所有测试,如上图所示。如果你可以在Netbeans中为JS测试驱动添加参数-- Test all --reset,它应该可以解决问题,让它像在Chrome中一样工作。
https://stackoverflow.com/questions/38856677
复制相似问题