我根据this link在Netbeans上使用JS Test Driver设置了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 --tests all --config jsTestDriver.conf
jsTestDriver.conf
文件:
server: http://localhost:4244
load:
- test/lib/jasmine/jasmine.js
- test/lib/jasmine-jstd-adapter/JasmineAdapter.js
- test/unit/*.js
所有三项测试都在运行。
答案 0 :(得分:-4)
关于Firefox,因为在评论中说这不是正确答案。我已经设法让它部分工作。问题是netbeans如何处理失败的测试以及如何启动jstestdriver.jar。我知道这并没有解决问题,但它正指向正确的方向。
重现此步骤的步骤。
因为我使用的是linux。我找到了当前用户的Netbeans配置文件夹中的jstestdriver.properties。就我而言,它位于
/home/{user}/.netbeans/8.2/config/Preferences/org/netbeans/modules/javascript/jstestdriver.properties
通过向jstestdriver.jar添加参数来编辑位置属性 - 测试所有--reset。编辑后,我的属性就像这样。
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
重复2次。
第二次重启并运行后,它应该运行所有测试,如上图所示。如果你可以在Netbeans中为JS Test Driver添加参数--tests all --reset,它应该解决问题,就像在Chrome中一样。