Angular Unit Testing: Uncaught (в обещании) ошибка всякий раз, когда я вызываю определенный метод - PullRequest
0 голосов
/ 05 марта 2020

Я пытаюсь выполнить модульное тестирование метода под названием downloadFile, используя следующий модульный тест:

it('should return error', fakeAsync(() => {
    let event: FileData = { outputFileName: 'test', outputFormat: 'txt' };
    expect(spectator.component.downloadFile(event)).toBeTruthy();
}));

Вот сам метод

  downloadFile(event: FileData): Promise<Blob> | FileData {
    return this.myService
      .downloadFile(this.Id)
      .then((result) => {
        return Promise.resolve(result);
      })
      .catch(() => {
        return this.translate
          .get('myError')
          .toPromise()
          .then((error: string) => {
            this.errorMessage = error;
            this._snackBar.open(this.errorMessage, 'OK', { duration: 5000 });
            return Promise.reject(error);
          });
      });
  }

Модульное тестирование не проходит и выдает мне эта ошибка:

Uncaught (in promise): myError

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

Я уже пробовал приведенный ниже код, но тест все равно не проходит

expect(spectator.component.downloadFile(event)).toEqual(
  Promise.resolve('myError')
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...