TestingModule override

DI 테스트 대체

`UserController`는 `UserService` 생성 방법을 모르고 타입만 요청합니다. 테스트에서는 같은 토큰에 mock provider를 연결해 컨트롤러 동작만 검증합니다.

단위 테스트 조립 순서

1

토큰 유지

컨트롤러 생성자는 여전히 `UserService` 타입을 요청합니다.

constructor(service)
2

구현 교체

테스트 모듈에서 같은 provider 토큰에 fake 객체를 넣습니다.

useValue: mockUsers
3

관심사 분리

DB 연결 없이 라우팅과 반환 형식만 빠르게 확인합니다.

controller.findAll()
DI 대체 가능성

DI의 실전 가치는 테스트에서 가장 빨리 보입니다. 컨트롤러가 생성자가 요구하는 토큰만 알고 있으면, 운영 구현과 테스트 구현을 안전하게 바꿀 수 있습니다.