看到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服务器应已启动并具有捕获的浏览器)。