我在使用JEST测试路由器详细信息时遇到问题。
我在src / router路径中有一个名为index.ts的文件,其结构如下所示
index.ts ======== Vue.use(VueRouter); 常量路由:RouteConfig [] = [ { 路径:“ /学生”, 名称:“ studentDetails”, 组件:()=> 进口( “ @ / app / common / Layouts / CommonLayout.vue” ), 儿童:[ { 路径:“”, 组件:()=> 进口( “ @ / app / pages / student / student.vue” ) } ], beforeEnter:serviceGuard } ] const router = new VueRouter({ 模式:“历史”, 路线 });
export default router;
serviceGuard details like below,
serviceGuard.ts
===============
export const serviceGuard = async (to, from, next) => {
if(!store.getters[types.GET_URL]) {
let status = await urlInfo.getUrl();
if(status === "success") {
return next();
}else{
return next(false);
}
}else{
return next();
}
};
index.spec.ts file below
=========================
在这里,尝试如下测试路由器路径student和commonLayout,但在jest覆盖率报告中未覆盖行。
const serviceGuardSpy = jest.mock("@/routerGuard/serviceGuards")
const router = new VueRouter({
routes: [
{
path: '/student',
component: resolve => resolve(CommonLayout.vue),
children: [
{ path: '', name: 'studentDetails', component: resolve => resolve(student) }
]
beforeEnter: serviceGuardSpy
}]
});