TS · TEST
Jest Mocking으로 외부 의존성 격리
단위 테스트에서 모킹은 fetch, DB, 파일 시스템처럼 테스트 대상 밖에 있는 의존성을 가짜 구현으로 바꿔 결과를 통제하는 방법입니다.
Mock 흐름
jest
fetchUser
외부 API를 호출하는 함수가 테스트 대상입니다.
global.fetch mock
네트워크 호출을 Jest mock 함수로 대체합니다.
성공 응답
사용자 JSON을 반환해 정상 처리를 검증합니다.
실패 응답
reject나 에러 응답으로 예외 처리를 확인합니다.
reset/restore
테스트 간 mock 상태가 섞이지 않게 초기화합니다.
대상
→
mock
→
성공
→
실패
→
초기화
Jest Mocking 한계
unit
호출 인자
URL, method, body가 예상과 같은지 확인합니다.
비동기 대기
await와 resolves/rejects로 Promise 결과를 검증합니다.
타입 보조
jest.MockedFunction으로 mock 타입을 명확히 할 수 있습니다.
과한 모킹
너무 많이 가짜로 만들면 실제 통합 문제를 놓칩니다.