Я использую карму и жасмин. Ниже приведена функция, которую я хочу протестировать с помощью 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>
.