ASYNC TEST ROUTE

비동기 테스트는 Promise가 끝난 뒤 검증이 실행되도록 기다리는 방식이 핵심입니다.

fetchData 예제처럼 성공과 실패가 나뉘는 코드는 완료 시점을 Jest에 알려야 정확한 테스트가 됩니다.

성공 Promise

값이 resolve되는지 확인할 때는 테스트에서 Promise를 반환합니다.

return expect(fetchData(true)).resolves.toEqual(...)

실패 Promise

reject되는 흐름은 rejects와 toThrow로 실패 메시지까지 확인합니다.

return expect(fetchData(false)).rejects.toThrow(...)

async / await

테스트 함수를 async로 만들고 await로 결과를 받은 뒤 검증합니다.

const data = await fetchData(true)