Я пытаюсь выполнить модульное тестирование метода под названием 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')
);