NEXT · JEST
Jest Mocking으로 외부 의존성 격리하기
모킹은 실제 API나 데이터베이스를 호출하지 않고도 성공과 실패 응답을 재현해 단위 테스트를 독립적으로 만드는 방법입니다.
Mock 테스트 흐름
mock
실제 함수
fetchUserData처럼 외부 API에 의존하는 코드가 있습니다.
mock fetch
테스트에서 global.fetch나 모듈 함수를 가짜로 바꿉니다.
성공 응답
원하는 JSON을 반환하게 만들어 정상 경로를 검증합니다.
실패 응답
에러 응답이나 reject를 만들어 예외 처리를 검증합니다.
restore
테스트 뒤 mock을 원래 상태로 되돌립니다.
대상 함수
→
mock
→
성공
→
실패
→
복원
체크 포인트
unit
호출 여부
올바른 URL과 옵션으로 호출됐는지 확인합니다.
결과 변환
응답 데이터를 원하는 형태로 바꾸는 로직을 검증합니다.
오류 처리
실패 응답에서 예외나 fallback이 예상대로 동작해야 합니다.
격리 유지
테스트끼리 mock 상태가 섞이지 않도록 복원합니다.