У меня есть Angular
сервисный вызов в компоненте, который возвращает наблюдаемый, если есть ошибка http, он также выдает компонент:
private loadData(): void {
this.someService.getdata(filter)
.pipe(
catchError((error: any) => {
this.loadingError$.next(true);
return throwError(error);
})
).subscribe(
(data:any[]) => {
this.records = data;
}
);
}
в тестовом примере я пытаюсь заставить его вызвать исключениеОбложка catchError
часть кода, у меня есть следующий TC:
it ('should handle error', (done) => {
const err = new Error('fake error');
spyOn(someService, 'getData').and.returnValue(throwError(err));
component.loadingError$.subscribe((error) => {
expect(error).toBe(true);
component.loadingError$.unsubscribe();
done();
});
component.ngOnInit();
});
Метод loadData
вызывается из ngOnInit
.Я ставлю debugger
после ожидания и результат верный, но этот ТС вызывает случайный сбой других ТК ..
Есть идеи?