【发布时间】:2021-03-12 00:54:25
【问题描述】:
如何使用 Jest 测试 fs.writeFile?
我想使用 Jest 测试以下 fs.write 函数
async function saveFile(): Promise<void | Error> {
fs.writeFile("./test.txt", (await newStockLength()).toString(), (err) => {
if (err) {
console.error(err);
return err;
}
//file written successfully
process.exit(0);
});
}
我的测试是:
it("should run no mather what", async () => {
const ran = await saveFile();
expect(ran).resolves.not.toBe(Error);
});
如果 Node 返回 an Error object,我想在测试中查看错误。
我应该如何在打字稿中将错误对象添加到Promise<void | ErrorObject >?
如果我使用Promise<void | Error> 并使用toBeNull
expect(ran).resolves.toBeNull();
我收到以下错误:
expect(received).resolves.toBeNull()
Matcher error: received value must be a promise
Received has value: undefined
【问题讨论】:
-
我想我需要使用 throw 语句而不是 Error
标签: node.js typescript jestjs