如何使用Jest或其他Javascript测试框架测试console.log输出?

我有一个异步运行的函数,控制台在随机setTimeout之后按顺序记录数字1到5.我想用Jest为这个函数编写一个测试.我怎么写一个测试console.log是1,2,3,4,5的?
最佳答案
是的你可以使用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");
});

转载注明原文:如何使用Jest或其他Javascript测试框架测试console.log输出? - 代码日志