Как протестировать консоль.вывод журнала с помощью Jest или другой платформы тестирования Javascript?

У меня есть функция, которая работает асинхронно, консоль регистрирует числа от 1 до 5 в порядке после случайного setTimeout. Я хочу написать тест для этой функции, используя шутку. Как написать тот, который проверяет эту консоль.log is 1, 2, 3, 4, 5 ?

1 ответов


Да, вы можете использовать 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");
});