Сбой теста из-за необработанного отказа от обещания - PullRequest
0 голосов
/ 14 мая 2019

Я написал тест в Жасмине, чтобы показать предупреждение, когда существует какая-либо ошибка для определенного сервиса.Рассматриваемый код находится внутри компонента и, по сути, служит для отображения предупреждения.

Я пробовал несколько методов, начиная от предоставления запроса с GET и предоставления URI для пути API - затем используя его для сброса.Я проверил это с и без whenStable (), но не повезло.

it('should show alert when an error for service exists', () => {
  spyOn(alertService, 'showAlert').and.callThrough();
  spyOn(someService, 'getStuff').and.returnValue(new Error());
  const input = fixture.debugElement.query(By.css('#search'));
  input.nativeElement.value = 'something';
  input.nativeElement.dispatchEvent(new Event('input'));
  fixture.whenStable().then(() => {
    expect(alertService.showAlert).toHaveBeenCalled();
  });
});

Я ожидаю появления предупреждения при возникновении ошибки.Этот тест проходит, однако, если я добавлю вместо него '.not.toHaveBeenCalled ()', тест также пройдет.Трассировка стека не выдает ошибку, но показывает «ОШИБКА:« Необработанный отказ от обещания: »,«: ожидал шпиона, но получил функцию ».

Видите ли вы что-то, что выделяется, что я должен исправить в предыдущей логике?

Просто чтобы уточнить, рассматриваемый код находится в ngOnInit внутри компонента и является исключением для получения 'вещи "из службы.

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