我想使用sinon的假服务器来模拟一个摩卡测试中的jQuery调用。但测试总是给出一个错误,如jQuery.post不是一个函数或jQuery未定义。我不清楚如何使用es6/es2015语法将jQuery导入到jsdom中。设置jQuery测试与jsdom,摩卡,es2016
这是测试/ setup.js的内容(安装一个jquery NPM封装)
import { jsdom } from 'jsdom';
import jQuery from 'jquery';
var exposedProperties = ['window', 'navigator', 'document'];
global.document = jsdom('');
global.window = document.defaultView
Object.keys(document.defaultView).forEach((property) => {
if (typeof global[property] === 'undefined') {
exposedProperties.push(property);
global[property] = document.defaultView[property];
}
});
global.jQuery = jQuery;
global.navigator = {
userAgent: 'node.js'
};
我假定安装固定后,我应该只能够在测试中使用jQuery.post()
而不改变有。
大部分设置的配置是从http://airbnb.io/enzyme/docs/guides/jsdom.html