Я пытаюсь выполнить модульное тестирование для сервисов, я издевался над данными и ожидаю некоторого результата, но получаю ошибку. Ниже приведен мой файл ts файла компонента
setPrefixSuffixDetails(): void {
this.profileService.getPrefixSuffixDetails()
.subscribe(
data => {
if(data.body.prefixlist.length > 0) {
this.prefixConfig.options = data.body.prefixlist;
}
}
);
}
Ниже мой файл Spec.ts
providers: [{provide: ProfileService, useClass: ProfileStub}]
beforeEach(() => {
fixture = TestBed.createComponent(ProfileBeneficiariesViewComponent);
component = fixture.componentInstance;
component.ngOnInit();
profileService = fixture.debugElement.injector.get(ProfileService);
});
let data = {body:['prefixList']}
it('should have a method to get details', () => {
profileService = fixture.debugElement.injector.get(ProfileService);
spyOn(profileService, 'getPrefixSuffixDetails').and.callThrough();
component.ngOnInit();
expect(data.body).toContain([ 'prefixlist' ]);
});
Ошибка, которую я получаю, ниже
Error: <spyOn> : could not find an object to spy upon for setPrefixSuffixDetails()
Usage: spyOn(<object>, <methodName>)
class ProfileStub {
getPrefixSuffixDetails = function () {
return Observable.of(data);
}