0

我正在尝试在我的组件的 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 调用的调用?

4

0 回答 0