看到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?它正确地包含它,因为如果我拼错了它抱怨丢失文件的路径。
答案 0 :(得分:0)
我能够在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并将测试光标放在任何'test'函数调用上,稍等一下,你会看到这个建议: “添加QUnit JsTestDriver适配器?Alt + Enter” 调用此快速修复程序将打开一个对话框,您应在其中指定将添加“QUnit JsTestDriver Adapter”文件的目录。
3)由于equiv.js和QUnitAdapter.js文件位于项目内,请将它们加载到jsTestDriver.conf中
4)现在右键单击jsTestDriver.conf并选择run(JsTestDriver服务器应该启动并具有捕获的浏览器)。