【发布时间】:2020-09-05 22:49:49
【问题描述】:
我正在尝试为以下函数编写一个简单的单元测试用例,
getMembers() {
this.service.getMembers()
.subscribe(response => {
this.allMembers = response;
})
}
以下是我写的规格,
it("should call getMembers subscribe method", fakeAsync(() => {
let membersSpy = spyOn(apiService, 'getMembers' ).and.returnValue(of(mockData));
let subSpy = spyOn(apiService.getMembers(),'subscribe');
homeComponent.getMembers();
fixture.detectChanges();
expect(membersSpy).toHaveBeenCalledBefore(subSpy);
expect(subSpy).toHaveBeenCalled();
}));
it("should call getMembers and return list of members", fakeAsync(() => {
expect(homeComponent.allMembers).toBeDefined();
expect(homeComponent.allMembers.length).toBeGreaterThan(1);
}));
我收到此规格的以下错误should call getMembers and return list of members
Expected undefined to be defined.
我在这里做错了什么?
【问题讨论】:
-
但我正在对服务进行模拟响应
标签: angular typescript jasmine karma-jasmine