我想使用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