我正在订阅 ngOnInit 上的路由。
constructor(private route: ActivatedRoute)
ngOnInit() {
this.route.queryParamMap.subscribe(params => {
this.mode = 'test';
})
}
除了我不确定如何测试的路由之外,我能够测试组件中的所有其他方法。我也没有看到此类问题的任何确切答案。
任何人都可以帮助为这篇文章编写单元测试。
我正在订阅 ngOnInit 上的路由。
constructor(private route: ActivatedRoute)
ngOnInit() {
this.route.queryParamMap.subscribe(params => {
this.mode = 'test';
})
}
除了我不确定如何测试的路由之外,我能够测试组件中的所有其他方法。我也没有看到此类问题的任何确切答案。
任何人都可以帮助为这篇文章编写单元测试。
您必须在您的测试床提供商列表中注入“Router”和“ActivatedRoute”。像下面的东西。
class RouterStub {
url = '...';
navigate(urlName: string) {
return urlName;
}
}
class MockActivatedRoute {
queryParams = Observable.from([{}]);
}
beforeEach(async(() => {
TestBed.configureTestingModule({
providers: [...
{ provide: Router, useClass: RouterStub },
{ provide: ActivatedRoute, useClass: MockActivatedRoute } ..
]
})