Как тестировать EventEmitter в Node.js?

Middle
216 просмотров
AFK Offer AI

Подписывайся на события в тесте и проверяй что они генерируются. const emitter = new MyEmitter(); const handler = jest.fn(); emitter.on("data", handler); emitter.doSomething(); expect(handler).toHaveBeenCalledWith({ id: 1 }). Для async событий: new Promise(resolve => emitter.once("done", resolve)). Для тестирования что событие НЕ генерируется: таймаут паттерн через Promise.race([eventPromise, timeout]). jest.useFakeTimers помогает с timeout тестами. Проверяй количество вызовов toHaveBeenCalledTimes.

Следующий вопрос

Как использовать Agenda для scheduled jobs в Node.js?