Unit Test

TestingModule 의존성 교체

service와 controller의 책임을 나누고 provider mock, jest.spyOn, 예외 케이스를 통해 빠르고 결정적인 테스트를 만듭니다.

Module

테스트 모듈

Test.createTestingModule로 대상 provider와 필요한 의존성 mock만 등록합니다.

Mock

의존성 대체

useValue, jest.fn, spyOn으로 repository나 외부 client를 실제 호출 없이 검증합니다.

Case

행동 검증

성공 값, 예외, 호출 인자, 호출 횟수를 서비스 책임에 맞게 확인합니다.

경계

단위 경계

controller는 요청 매핑과 응답 위임, service는 비즈니스 규칙을 중심으로 테스트합니다.