throwError заставляет другие тестовые случаи терпеть неудачу в Angular 6 - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть 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 после ожидания и результат верный, но этот ТС вызывает случайный сбой других ТК ..

Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...