问题描述
我的Vue应用程序具有一个组件,可侦听服务人员以确定该应用程序是否需要更新。我想添加一个简单的测试,以使组件显示应有的状态。但是,我需要服务人员和工作箱正常工作。我让服务人员使用service-worker-mock
,但是找不到有关如何合并工作箱的资源。到目前为止,这是我的测试:
import UpdateNotification from '@/components/UpdateNotification.vue';
import { workBox } from 'workBox-sw';
const makeServiceWorkerEnv = require('service-worker-mock');
describe('UpdateNotification',() => {
beforeEach(() => {
Object.assign(global,makeServiceWorkerEnv(),workBox);
jest.resetModules();
});
it('displays',async() => {
require('../../../src/service-worker');
render(UpdateNotification);
});
});
这是我的服务人员:
/* eslint-disable no-undef*/
workBox.precaching.precacheAndRoute(self.__precacheManifest);
workBox.routing.registerNavigationRoute(workBox.precaching.getCacheKeyForURL('index.html'));
由于以下原因,到目前为止,我的@R_404_6280@案在测试中无法达到require('../../../src/service-worker');
:
TypeError: Cannot read property 'precacheAndRoute' of undefined
1 | /* eslint-disable no-undef*/
> 2 | workBox.precaching.precacheAndRoute(self.__precacheManifest);
导入{ workBox }
只是一种猜测,我认为这就是我要去的地方。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)