0
我正在寻找一种方法来设置navigator.serviceWorker来单元测试我的服务人员。我目前的JSDOM设置是这样的:设置JSDOM navigator.serviceWorker为单元测试服务人员
import { JSDOM } from 'jsdom';
const dom = new JSDOM('<!DOCTYPE html><html><head></head><body></body></html>');
global.window = dom.window;
global.document = dom.window.document;
Object.keys(global.window).forEach(property => {
if (typeof global[property] === 'undefined') {
global[property] = global.window[property];
}
});
global.navigator = {
userAgent: 'node.js'
};
我已经尝试了global.navigator = global.window.navigator
注释掉global.navigator = ...
。但是,以下console.log(global.navigator.serviceWorker)
和console.log(navigator.serviceWorker)
无论是在我的单元测试返回undefined
:
describe('Service Worker',() => {
it('should register a service worker and cache files on install',() => {
console.log(navigator.serviceWorker); // undefined
// navigator.serviceWorker.register() // not used yet since undefined
});
});