NEST UNIT TEST

Nest 단위 테스트는 경계를 좁히고 분기를 증명한다

테스트 대상은 한 클래스나 메서드로 묶고, DB/HTTP/Queue 같은 외부 의존성은 mock으로 대체해 성공, 실패, 예외 흐름을 빠르게 확인한다.

1. 경계 테스트할 책임 하나를 고른다

컨트롤러 라우팅인지 서비스 규칙인지 먼저 분리한다.

2. 대체 외부 I/O는 mock 계약으로 고정한다

repository, client, queue는 실제 호출 없이 결과만 약속한다.

3. 증명 분기별 기대 결과를 따로 남긴다

정상 값뿐 아니라 없는 데이터와 예외 흐름도 같은 무게로 본다.

01 TestingModule

테스트 대상과 필요한 provider만 등록한다.

02 Mock 동작

각 케이스에서 resolve, null, reject를 명시한다.

03 결과 검증

반환값, 예외 타입, 응답 모양을 확인한다.

04 호출 검증

의존성이 기대 인자와 횟수로 호출됐는지 본다.

Unit 한 클래스 분기

가장 많이, 가장 빠르게 돌린다.

Integration 모듈 조합

실제 provider 연결과 테스트 DB를 확인한다.

E2E HTTP 경계

요청부터 응답까지 앱 흐름을 본다.

Reset 테스트 격리

mock 기록과 공유 상태가 다음 케이스로 새지 않게 한다.