我想在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: '' }
])]