我有一个异步运行的函数,控制台在随机setTimeout之后按顺序记录数字1到5。我想用Jest为这个函数编写一个测试。如何编写一个测试console.log为1,2,3,4,5?
的程序答案 0 :(得分:15)
是的,您可以使用jest.fn
。
以下是一个例子:
档案hello.js
console.log("Hello World");
档案hello.test.js
let outputData = "";
storeLog = inputs => (outputData += inputs);
test("console log Hello World", () => {
console["log"] = jest.fn(storeLog);
require("./hello.js");
expect(outputData).toBe("Hello World");
});