단위 테스트 범위

단위 테스트 구성

NestJS 테스트 모듈은 필요한 provider만 조립합니다. 테스트 대상은 진짜로 두고, 외부 의존성은 useValuejest.fn으로 바꿔 행위와 결과를 확인합니다.

pure service

의존성이 없으면 결과값을 직접 검증

AppService.sum처럼 입력과 출력이 명확한 메서드는 다양한 값으로 반환 결과를 확인합니다.

service with db

외부 저장소는 mock으로 대체

DatabaseService를 가짜 객체로 바꾸고 호출 횟수와 인자를 함께 검증합니다.

controller

HTTP 계층은 서비스 호출을 검증

컨트롤러 테스트는 요청 body와 param을 서비스 메서드에 올바르게 넘기는지에 집중합니다.

Arrange

테스트 모듈과 mock 반환값을 준비합니다.

Act

테스트 대상 메서드 하나를 호출합니다.

Assert

반환값과 mock 호출 방식을 확인합니다.

Reset

clearAllMocks로 테스트 간 상태를 지웁니다.