组件中的角度测试模拟store.pipe

时间:2019-02-22 02:52:09

标签: unit-testing

我有一个容纳不同组件的容器。角度服务调用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 任何建议/帮助将不胜感激。

0 个答案:

没有答案