Как тестировать асинхронный код в Jest?

Junior
321 просмотров
AFK Offer AI

Три способа. 1) async/await: it("test", async () => { const result = await asyncFn(); expect(result).toBe(42) }). 2) Promises: return asyncFn().then(result => expect(result).toBe(42)) — важно вернуть Promise, иначе тест пройдёт до resolve. 3) done callback: it("test", done => { asyncFn((result) => { expect(result).toBe(42); done() }) }). Для rejected promises: await expect(fn()).rejects.toThrow("error"). Для timeout: jest.setTimeout(10000) для медленных async операций.

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

Как работает Message Queue паттерн в Node.js?