fs.readFile Модульный тестовый пример - «Невозможно войти в систему после того, как тесты завершены. - PullRequest
1 голос
/ 13 января 2020

В настоящее время я пишу тестовый блок с использованием jest для метода, который использует fs.readFile. Я пытался проверить логи c внутри fs.readFile, но безуспешно. Так что я попытался войти в функцию как ниже

Моя функция для проверки

fileUpload = (request: Request, response: Response) => {
    // Reading the file
    fs.readFile(request.file.path, async (error, file) => {
        console.log('Hey i am inside')
        const entity = await this.model.fileUpload(x, y, z);
    });
};

Мой тестовый пример до сих пор

    it('should perform file upload', async () => {
       ....
       await Promise.resolve(controller.fileUpload(request as Request, response as Response))
       ....
    });

Ошибка Брошенный


Невозможно войти в систему после завершения испытаний. Вы забыли подождать что-то асин c в своем тесте? Попытка записать «Привет, я внутри».


Почему эта ошибка отображается, даже когда я возвращаю разрешенное обещание в файле теста. fs.readFile. Что мне делать, чтобы дождаться завершения fs.readFile?

1 Ответ

0 голосов
/ 14 января 2020

fs.readFile не возвращает Обещание, и ни один (из фрагмента) не делает ваш код для fileUpload для выполнения await против. Вам нужно было бы заставить fileUpload вернуть Обещание, которое разрешается, когда вся функция завершена.

...