首页 > 解决方案 > Angular 单元测试延迟加载和路由模块

问题描述

假设我有一个看起来像这样的结构:

app-routing.module.ts(有一个路径 /admin 指向管理页面模块)

{
    path: 'admin',
    loadChildren: () =>
      import('./components/admin-page/admin-page.module').then(
        (m) => m.AdminPageModule
    ),
},

然后 admin-page-routing.module.ts 看起来像这样(/admin 打开管理页面组件,/admin/temp-one 打开临时组件)

const routes: Routes = [
{
    path: '',
    component: AdminPageComponent,
    children: [
      {
      path: 'temp-one',
      loadChildren: () =>
        import('./temp-one/temp-one.module').then(
          (m) => m.TempOneModule
        ),
      },
    ],
},
];

Teamcity 告诉我这() => import ...是红色/未经过单元测试的。我如何对这部分进行单元测试?

这是我到目前为止所尝试的:

管理页面.component.spec.ts

it('should navigate to temp-one', fakeAsync(() => {
    router.navigate(['temp-one']);
    tick();
    expect(location.path()).toEqual('/temp-one');
}));

但它仍然是红色的并且没有经过单元测试

标签: angulartypescriptunit-testingjasmine

解决方案


推荐阅读