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
});
});