NetBeans 上的 JsTestDriver 在断言失败后停止测试

我已经按照 本连结在 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% 。

enter image description here

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 —— test 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

三项测试都进行了。

5009 次浏览

看起来 Chrome 运行得不错。 enter image description here

关于火狐的评论说这是不正确的答案。我已经设法让它部分工作。问题是 netbeans 如何处理失败的测试以及如何启动 jstestdriver.jar。我知道这不能解决问题,但它指向了正确的方向。

enter image description here

重现这一点的步骤。

  1. 从服务启动 JS 测试驱动程序
  2. 运行测试。
  3. 因为我用的是 linux。我已经从 Netbeans 配置文件夹中找到了当前用户的 jstestdriver.properties。在我的情况下,它位于

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

    通过向 jstestdriver.jar 添加参数来编辑 location 属性—— testall —— reset。

    Location =/home/user/Downloads/jstestDriver-1.3.5.jar —— testall —— reset Url = http://localhost:42442 Mode = false ANDROID _ DevICE _ CHROME = false ANDROID _ DevICE _ DEFAULT = false ANDROID _ EMULator _ DEFAULT = false Chrome = false 浏览器 浏览器 SL _ _ Browser _ FirefoxBrowser = true SL _ _ Browser _ MozillaBrowser = false

  4. 重复两次。

    • 从服务重新启动 JS 测试驱动程序。
    • 运行测试。

在第二次重新启动并运行之后,它应该运行所有的测试,如上图所示。如果你能为 Netbeans 的 JS 测试驱动添加参数——全部测试——重置,那么它就能像 Chrome 一样解决问题。