del*_*ing 1 javascript unit-testing angular
我TypeError: Cannot read property 'subscribe' of undefined
在单元测试中遇到错误,如何解决?
我的代码的一部分:
规格
it('makes expected calls', () => {
const item1: item3 = fixture.debugElement.injector.get(item3);
spyOn(comp, 'item5');
spyOn(item1, 'item2');
comp.item4();
expect(comp.item5).toHaveBeenCalled();
expect(item1.item2).toHaveBeenCalled();
});
Run Code Online (Sandbox Code Playgroud)
如果我删除规范的这一部分,我就会成功。
我使用 subscribe() 的方式正确吗?
尝试为为方法创建的间谍提供一个模拟Observable
Jasmine 间谍returnValue
,isPeriodCycleOpen
以便为组件提供一些能够subscribe
:
import { Observable } from 'rxjs/Observable';
it('makes expected calls', () => {
const mockResponse = { cyclePeriodOpen: true, deadLineCycle: 'foobar' };
const cycleServiceStub: CycleService = fixture.debugElement.injector.get(CycleService);
spyOn(comp, 'setChartData');
spyOn(cycleServiceStub, 'isPeriodCycleOpen').and.returnValue(Observable.of(mockResponse));
comp.getCycleStatus();
expect(comp.setChartData).toHaveBeenCalled();
expect(cycleServiceStub.isPeriodCycleOpen).toHaveBeenCalled();
});
Run Code Online (Sandbox Code Playgroud)
希望这有帮助!
归档时间: |
|
查看次数: |
3915 次 |
最近记录: |