我試用了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 }) 這應該是可測試的,如上所述 –