【发布时间】:2015-07-25 23:03:37
【问题描述】:
使用 IO.js 1.3.0,在 Windows 上使用 JSDOM 4.0.1 和 Mocha 2.0.1 和 jquery 2.1.1
以下代码:
var chai = require('chai');
var jsdom = require('jsdom');
describe('JSDOM', function () {
var $;
beforeEach(function () {
global.document = jsdom.jsdom('<html><body><section id="banner"></section></body></html>');
global.window = global.document.defaultView;
global.navigator = global.window.navigator;
$ = global.jQuery = require('jquery')(global.window);
})
it('Using jquery', function () {
var dom = $("#banner");
});
});
在尝试将 JQuery 选择器用作仿函数(即 $(...))时出现 TypeError: object is not a function 错误。还有其他人遇到这种情况并有解决方法吗?
【问题讨论】:
-
直到我找到 jquery 没有正确初始化的根本原因(作为必需的模块),我已经将它作为源代码(即通过 fs)并使用 jsdom.env 代替(即 jsdom.env({html:
, src: [jquery], done: function(erros, window) { // 这里初始化我的测试用例然后 done(); }});
标签: jquery node.js mocha.js jsdom io.js