看到this question,但是重命名为jQuery并没有帮助。

我正在尝试在Webstorm中进行一些基本的单元测试。即使没有测试,也找不到其他文件中定义的内容。

我有这个配置文件:

server: http://localhost:9876

load:
  - libs/jquery-1.9.0.min.js
  - src/jquery.combine/jquery.combine.js


但是在运行测试时会出现此错误:

error loading file: /test/src/jquery.combine/jquery.combine.js:2: Uncaught TypeError: Cannot set property 'union' of undefined

路径有些不同,但是单击它会显示正确的文件。

jquery.combine.js看起来像这样:

(function($) {
  $.union = function () {
    // ...
  };
}(jQuery));


为什么不检测jQuery?它正确地包含了它,因为如果我拼错了路径,它会抱怨缺少文件。

最佳答案

我能够在JetBrains的帮助下解决此问题。如果您为QUnit添加jsTestDriver适配器,则可以通过某种方式自行解决。 WebStorm与this one捆绑在一起。

我更新的jsTestDriver.conf看起来像这样:

load:
 - libs/qunit-jstd-adapter/equiv.js
 - libs/qunit-jstd-adapter/QUnitAdapter.js
 - libs/jquery/jquery.js
 - src/*.js

test:
 - test/*.js


我正在粘贴从JetBrains获得的说明(稍​​作修改),它可以帮助我解决问题:


  1)删除jquery.combine / libs / qunit / qunit.js-这样做会使符号“ test”和“ module”无法解析,
  
  2)打开jquery.combine / test / difference.tests.js并将测试光标定位在任何“测试”函数调用上,稍等片刻,您将看到建议:
    “添加QUnit JsTestDriver适配器吗?Alt + Enter”
    调用此快速修复程序将打开一个对话框,您应在其中指定将添加“ QUnit JsTestDriver适配器”文件的目录。
  
  3)由于equiv.js和QUnitAdapter.js文件位于项目内部,因此将它们加载到jsTestDriver.conf中
  
  4)现在,右键单击jsTestDriver.conf并选择运行(JsTestDriver服务器应已启动并具有捕获的浏览器)。

09-30 16:12