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 타입을 명확히 할 수 있습니다.
과한 모킹너무 많이 가짜로 만들면 실제 통합 문제를 놓칩니다.