我的模板包含
<a [routerLink]="['/my-profile']" routerLinkActive="active"> <i class="icon-user"></i>{{ 'MY_PROFILE' | translate }} </a>
错误是因为routerLink和routerLinkActive指令.
单元测试文件.
TestBed.configureTestingModule({ imports: [ MultilingualModule,CommonModule,RouterTestingModule.withRoutes([ { path: 'my-profile',component: MockComponent },{ path: 'change-password',]) ],schemas: [ NO_ERRORS_SCHEMA ],declarations: [TopNavigationBarComponent,TestComponent,MockComponent],providers: [ { provide: LoginService,useValue: MockLoginService },{ provide: Router,useClass: RouterStub } ] });
解决方法
问题是你实际上是在覆盖路由器来进行测试,这使得它破坏了routerLink.
你可以在这里看到如何对测试路线进行单元测试的一个很好的解释: Angular 2 Final Release Router Unit Test
你可以在这里看到如何对测试路线进行单元测试的一个很好的解释: Angular 2 Final Release Router Unit Test