如何编写茉莉花测试为主题的可观察方法?

时间:2019-02-07 15:45:36

标签: angular jasmine observable subject-observer

我正在尝试在组件的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();
});

我的测试不断失败?如何在我的组件中测试可观察调用的调用?

0 个答案:

没有答案