我正在通過Angular2 testing guide並希望爲ngOnInit()函數編寫一個測試。從節目指南的路由部分的一個具有以下格式:Angular2,測試和解決數據:如何測試ngOnINit?
let org: Org = null;
ngOnInit(): void {
let that = this;
this.route.data
.subscribe((data: { org: Org }) => {
that.org = data.org;
});
}
這是通過一個解析器實現,如:
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<Org> {
let id = this.authService.user.orgId;
return this.orgService
.getOrg(id)
.map(
(org: Org) : Org => {
if(org) {
return org;
} else {
// If the Org isn't available then the edit page isn't appropriate.
this.router.navigate(['/provider/home']);
return null;
}
})
.first();
}
代碼工作不錯,但我不知道如何爲ngOnInit寫一個測試。我可以使用的示例假定嵌入的OrgService可以被MockOrgService取代。但是,我擁有的只是解決方案。
我最終會弄清楚如何自行測試解析器。是否有任何有用的測試,我可以做一個基於解析器的ngOnInit?
感謝,
傑羅姆。
我想測試ngOnInit應該是角度球隊的責任,你應該只需要測試你是從它調用 –