단위 테스트는 대상 하나만 남기고 나머지를 mock으로 고정한다

NestJS 테스트 모듈은 실제 앱 전체를 띄우는 장치가 아니라, 검증할 provider와 그 provider가 믿고 호출할 가짜 의존성을 조립하는 장치입니다.

Unit

서비스·컨트롤러 하나

테스트 대상의 규칙과 호출만 빠르게 확인합니다.

Integration

모듈 조합

여러 provider가 함께 맞물리는지 봅니다.

E2E

HTTP부터 응답까지

실제 요청 경로와 앱 전체 계약을 검증합니다.

Test case

입력과 기대값

예: sum(2, 3)은 5를 돌려야 합니다.

TestingModule

대상 provider 생성

필요한 provider만 등록하고 외부 의존성은 가짜로 둡니다.

providers: [AppService]
Assertion

규칙 직접 확인

반환값, 예외, 의존성 호출 여부를 명확히 단언합니다.

핵심: 단위 테스트의 품질은 “무엇을 실제로 두고, 무엇을 mock으로 고정했는가”가 분명할 때 올라갑니다.