jest TIL

succeeding·2022년 8월 19일

.rejects

https://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}
  }
}

0개의 댓글