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


178

我已经按照此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-测试所有--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

所有三个测试都运行。


8
您是否在其他浏览器上尝试过?由于它是从命令行运行的,因此我认为故障是由Netbeans或浏览器引起的。
锡卢

3
这对您有帮助吗?jasmine --stop-on-failure = false jasmine.github.io/2.5/node.html#section-21
路加福音

也许这里的意见可以帮助stackoverflow.com/questions/22119193/...
罗伯特罚款

我认为至少在Mocha中,netbeans测试处理存在问题。
邓肯,

Answers:


1

好像在Chrome中工作正常。 在此处输入图片说明

关于Firefox的评论,这是不正确的答案。我设法使其部分工作。问题是netbeans如何处理失败的测试以及如何启动jstestdriver.jar。我知道这并不能解决问题,但方向是正确的。

在此处输入图片说明

重现此步骤。

  1. 从服务启动JS测试驱动程序
  2. 运行测试。
  3. 由于我正在使用linux。我从Netbeans配置文件夹中找到了当前用户的jstestdriver.properties。就我而言,它位于

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

    通过向jstestdriver.jar添加参数来编辑位置属性-测试所有-重置。编辑后,我的属性如下所示。

    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测试驱动程序。
    • 运行测试。

第二次重新启动并运行后,它应如上图所示运行所有测试。如果您可以在Netbeans中为JS测试驱动程序添加参数--tests all --reset,则应该可以解决在Chrome中工作的问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.