我试用了angular 4,并试图从单元测试中测试angular 4功能中的一个router.paramMap,采用休耕方式读取路由参数并按预期工作我的应用程序。如何对使用router.paramMap的Angular 4组件进行单元测试使用router.paramMap
constructor(private router:Router, private actRoute:ActivatedRoute) {
}
ngOnInit() {
this.router.paramMap.subscribe(params => {
params.get(id);
})
......
}
但运行单元测试时,我m到处错误,说不能叫认购即使I M传递传递路线PARAM如下未定义的方法。
{
provide: ActivatedRoute,
useValue: { params: Observable.of({id: 1}) }
}
请建议
感谢@Lotte Lemmens你的答案,但我遇到了一个更的问题 - 类型错误:params.get不是一个函数,任何解决方案? –
您有使用paramMap的额外价值吗? this.router.params.subscribe(par => { const idFromParams = par.id }) 这应该是可测试的,如上所述 –