我有一个容纳不同组件的容器。角度服务调用restAPI并使用数据更新存储。现在,组件从存储中获取数据,例如在getEmloyeeState下面的nginit()上是选择器,它从存储中获取数据。
ngOnInit(): void {
this.store.pipe(select(getEmployeeState)).subscribe(emp => {
this.employee = emp;
});
}
要测试该组件,我尝试如下模拟store.pipe。
beforeEach(() => {
mockStore = jasmine.createSpyObj('store', ['pipe']);
it('When ngOnInit called, it should initlize emp object',
() => {
mockStore.pipe.and.callFake(() => {
return {
subscribe: (callback) => {
callback({
empObj: empObj
})
}
}
});
empComponent.ngOnInit();
expect(empComponent.employee.empId).toEqual('EMP1000');
});
});
看起来像是在模拟store.pipe传递,但是在ngOnInit中,employee对象未初始化,因为它返回未定义的期望值等于EMP1000 任何建议/帮助将不胜感激。