ng test throw error Нет контейнеров тостера были инициализированы для получения тостов - PullRequest
0 голосов
/ 24 мая 2019

Я использую карму и жасмин. Ниже приведена функция, которую я хочу протестировать с помощью spyOn.

getCaSyncStatus() {
service.getBenefitsCaSyncStatus()
.pipe(
  catchError((err : HttpErrorResponse) => {
    return throwError(err);
  })
)
.subscribe(res => {
}, err => {

  if(err && (err.status === 503 || err.status === 0)) {
    this.toaster.pop('error', 'API is not available');
    this.someValue = 'xxx';
  } else if(err.status === 500 ) {
    this.toaster.pop('error', 'API is not available, Contact Support');
    this.msg = 'API is down';
  }
  else {
    this.someValue = 'yyy';
  }
});

}

так что если я кидаю код состояния, используя spyOn, как это

 spyOn(dashboardService, "getBenefitsCaSyncStatus").and.returnValue(Observable.throw({ status: 500 }));
 component.getCaSyncStatus();
 fixture.detectChanges();
 tick();

Выдает ошибку «Нет контейнеров тостера для инициализации тостов». Хотя в моем корневом компоненте <toaster-container></toaster-container>.

...