【发布时间】:2020-04-29 21:00:37
【问题描述】:
我目前正在使用 jest 为使用 fs.readFile 的方法编写单元测试用例。我一直在尝试测试 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))
....
});
引发错误
测试完成后无法登录。你是否忘记等待某事 在你的测试中异步? 尝试记录“嘿,我在里面”。
为什么会显示此错误,即使我在测试文件中返回已解决的承诺。我推断测试在控制进入 fs.readFile 之前已完成。我应该怎么做才能等待 fs.readFile 完成?
【问题讨论】:
标签: javascript typescript unit-testing jestjs fs