我正在尝试在我的组件的 ngOnInit 方法中为以下方法调用编写测试:
person: Person;
ngOnInit(){
this.service.person.asObservable().subscribe(data => {
this.methodCall(data);
}
}
这是我的服务:
person = new Subject<Profile>();
updatePerson(){
return httpService.put(data)
.subscribe(response => {
this.person.next(response);
})
}
这是我对组件的测试:
it ('should update person when service.updatePerson is invoked', () => {
const service = TestBed.get(Service);
const response = {
'profile': {
'fullName': 'John Manny',
'email': 'john.manny@yahoo.com',
}
};
const spy = spyOn(service, 'updatePerson').and.returnValue(of(response));
component.ngOnInit();
expect(spy).toHaveBeenCalled();
});
我的测试总是失败?如何在我的组件中测试 observable 调用的调用?