Angular 2 - 单元测试错误的URL(未接受承诺)

时间:2017-06-15 13:34:23

标签: angular unit-testing routing

我想在Angular 2单元测试中测试错误的URL。 我的目标是检查错误的网址是否被重定向到“/ home”,如果该网址无法识别。

我的重定向:

{ path: '**', redirectTo: 'home' } 

我在menu.component.spec.ts中的测试:

  it('should redirect wrong url to home url', async(() => {
    router.navigate(['/wrong']).then(() => {
      expect(location.path()).toBe('/home');
    });
  }));

但最终会出现错误消息:

  

失败:未捕获(承诺):错误:无法匹配任何路由。网址细分:'错误'   错误:无法匹配任何路由。网址细分:'错误'

是否有办法使用与TestBed.configureTestingModule导入路由不匹配的url?

更新: 更新我的路由以重定向错误的URL解决了错误

imports: [FormsModule, RouterTestingModule.withRoutes([
        {
          path: '', children: [
            { path: '', pathMatch: 'full', redirectTo: 'home' },
            { path: 'home', component: HomeComponent },
            { path: 'account', component: AccountComponent},
            { path: 'about', component: AboutComponent},
          ]
        },
        { path: 'login', component: LoginComponent},
        { path: '**', redirectTo: '' }
      ])]

0 个答案:

没有答案