我正在ngOnInit上进行路由。
constructor(private route: ActivatedRoute)
ngOnInit() {
this.route.queryParamMap.subscribe(params => {
this.mode = 'test';
})
}
我能够测试组件中的所有其他方法,但不确定如何测试的路由除外。对于这样的问题,我也没有看到确切的答案。
任何人都可以帮助编写此单元测试。
答案 0 :(得分:0)
由于我的评论不足,因此我将尽力提供帮助。
ngOnInit()
挂钩仅在加载组件时被调用一次。
console.log(this.mode)
返回什么?
答案 1 :(得分:0)
您必须在“测试床”的提供商列表中注入“ 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 } ..
]
})