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

时间:2016-08-09 17:06:43

标签: javascript netbeans js-test-driver

我根据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%。

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

所有三项测试都在运行。

1 个答案:

答案 0 :(得分:-4)

似乎Chrome中的工作正常。 enter image description here

关于Firefox,因为在评论中说这不是正确答案。我已经设法让它部分工作。问题是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添加参数来编辑位置属性 - 测试所有--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

  4. 重复2次。

    • 从服务重启JS测试驱动程序。
    • 运行测试。
  5. 第二次重启并运行后,它应该运行所有测试,如上图所示。如果你可以在Netbeans中为JS Test Driver添加参数--tests all --reset,它应该解决问题,就像在Chrome中一样。