6
我有一个异步运行的功能,控制台在随机setTimeout后按顺序记录数字1到5。我想用Jest为这个函数编写一个测试。我如何编写一个测试console.log为1,2,3,4,5的程序?如何使用Jest或其他Javascript测试框架测试console.log输出?
我有一个异步运行的功能,控制台在随机setTimeout后按顺序记录数字1到5。我想用Jest为这个函数编写一个测试。我如何编写一个测试console.log为1,2,3,4,5的程序?如何使用Jest或其他Javascript测试框架测试console.log输出?
是的,你可以使用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");
});