.rejectshttps://jestjs.io/docs/expect#rejects
에러를 throw하는 async 함수는 expect().rejects로 접근이 필요하다. 자세한 건 위 링크 참고.
jest.requireActual(moduleName)
describe('', () => {
const mockedFn = jest.fn(async (value) => {
return value
})
test('', async () => {
const expectedBodies = []
for (let i = 0; i < 10; i++) {
expectedBodies.push({foo: i})
}
await Promise.all(expectedBodies.map((expectedBody) => mockedFn(createReq(expectedBody))))
for (let i = 0; i < 10; i++) {
expect(mockedFn).toHaveBeenNthCalledWith(i + 1, expect.objectContaining({body: expectedBodies[i]}))
}
})
})
function createReq(body) {
return {
header: {},
body: {...body}
}
}