
아키텍처
2. 유스케이스를 격리하고 의존성을 나누어 Lint로 규칙 세우기
두줄요약
Mock 의존을 줄이기 위해 유스케이스 분리, 리포지토리 포트화, 트랜잭션 정리를 단계적으로 진행했습니다. 문서보다 lint·타입·CI 같은 강제 규칙으로 사람과 AI의 관성을 막았습니다.
핵심 내용
- Mock 의존이 커진 코드베이스에서 유스케이스 분리, 리포지토리 재구성, 트랜잭션 컨텍스트 정리, 포트·어댑터 전환을 통해 Mock을 줄이는 과정 정리
- lint 룰, 타입 제약, CI 게이트처럼 어겼을 때 즉시 에러가 나는 규칙으로 사람과 AI 에이전트의 관성을 시스템적으로 제어
- 인메모리 구현체의 시그니처 드리프트를 컴파일 타임에 잡는 타입 검사와, 테스트 데이터 빌더·예외 기반 미사용 메서드 처리로 안전성 확보
적용해볼 점
- 컨벤션 문서보다 강한 자동화 규칙으로 반복되는 실수를 차단
- 통합 테스트와 특성화 테스트를 먼저 확보한 뒤 Mock 제거와 아키텍처 개편 진행
- 단위 테스트 범위는 DB 의존이 없는 규칙으로 좁히고, 그 외는 통합 테스트로 내리기
