ASYNC TESTING

비동기 테스트는 완료 시점을 Jest에게 알려야 한다

Promise를 반환하거나 async 함수에서 await를 사용해야 검증이 끝난 뒤 테스트 결과가 확정됩니다.

Promise

return으로 대기

테스트 함수에서 expect 결과를 반환해 완료까지 기다립니다.

return expect(fetchData()).resolves.toEqual(data)
Async

await로 대기

비동기 함수를 동기 흐름처럼 읽히게 작성합니다.

const data = await fetchData()
Reject

실패도 검증

거부되는 Promise는 rejects와 toThrow로 의도를 드러냅니다.

await expect(fetchData()).rejects.toThrow(error)

검증 체크

  • 테스트가 Promise 완료를 기다리는지 확인합니다.
  • 성공 값은 resolves 또는 await 결과로 비교합니다.
  • 실패 값은 rejects로 명시해 놓치지 않습니다.

선택 기준

짧은 검증resolves, rejects
여러 단계async, await
에러 흐름rejects.toThrow