ngOnInit
我的组件上的方法,类似于以下内容:
public ngOnInit(): void {
this.subscription = this.myService.myGetter.subscribe(...);
}
我试图通过嘲笑我的服务和监视我的getter来测试这个方法。例如,我的模拟服务看起来像:
export class MockedService {
public get myGetter(): Subject<MyData[]> {
return;
}
}
{ provide: MyService, useClass: MockedService }
let myService = fixture.debugElement.injector.get(MyService);
然后,在实际测试中,我监视此属性并返回预期值:
const serviceSpy: jasmine.Spy = spyOnProperty(myService, 'myGetter', 'get').and.returnValue(Observable.of(sampleData));
当需要测试该方法时,我继续收到:
无法准备未定义的属性订阅
我不知道为什么会这样。我在监视这处房产,并返回一个可观察到的东西让它监视。
如果我试图改变
return
subscribe
上不存在
myGetter
.
有什么想法吗?