- 타겟 커버리지: 70%
- 현재 커버리지: 14% (6,420/44,567 instructions)
- 필요한 추가 커버리지: 56% (약 24,777 instructions 추가)
-
NotificationServiceImplTest - 21개 테스트 케이스
- 모든 public 메서드 1:1 매핑 완료
- 채팅 알림, 삭제, 읽음 처리 등 완전 커버
-
PreContractDataServiceImplTest - 9개 테스트 케이스
- fetchOwnerData, fetchTenantData, fetchOcrData 메서드 완전 커버
- 예외 처리 케이스 포함
-
MyPageServiceImplTest - 15개 테스트 케이스
- 사용자 정보, 프로필 이미지, 닉네임, 알림 설정 등 완전 커버
- 6개 주요 메서드 1:1 매핑
-
기존 테스트들
- FraudRiskServiceImplTest (21% 커버리지)
- UserServiceImplTest (95% 커버리지)
- IdentityVerificationServiceTest (62% 커버리지)
- 다양한 global/auth 테스트들
global.oauth2.service: 94%domain.user.service: 95%global.mongodb.service: 100%global.oauth2.controller: 100%global.redis.controller: 100%global.email.controller: 100%global.file.controller: 82%global.auth.service: 85%domain.verification.service: 62%domain.fraud.controller: 58%
global.auth.jwt: 40%global.redis.service: 43%global.file.service: 39%domain.mypage.service: 28%
domain.contract.service: 0%⚠️ 7,117 instructions (최우선)domain.home.service: 0%⚠️ 1,212 instructionsdomain.chat.service: 5%⚠️ 7,946 instructionsdomain.chat.controller: 0%⚠️ 3,461 instructionsdomain.contract.controller: 0%⚠️ 778 instructionsdomain.precontract.service: 20% (개선 필요)
- domain.contract.service (7,117 instructions) - 최우선
- domain.chat.service (7,946 instructions)
- domain.chat.controller (3,461 instructions)
- domain.home.service (1,212 instructions)
- domain.contract.controller (778 instructions)
- domain.home.controller (587 instructions)
- domain.precontract.service (20% → 60% 목표)
- global.common.util (5% → 40% 목표)
- domain.chat.fcm (1% → 50% 목표)
- 예상 메서드 수: 15+ 개
- 주요 메서드: saveContractMongo, getContract, nextStep, saveDepositPrice 등
- 예상 테스트 케이스: 50+ 개
- ContractServiceImpl 테스트 생성
- ChatServiceImpl 테스트 생성
- HomeServiceImpl 테스트 생성
- 각 Controller 테스트 생성
- 중간 커버리지 측정 및 조정
- 실제 API 확인 후 테스트 작성 (이전에 잘못된 가정으로 컴파일 에러 발생)
- 1:1 메서드 매핑 원칙 유지
- Nested 테스트 클래스로 구조화
- 성공/실패/예외 케이스 모두 포함
여러 도메인에서 테스트 생성을 시도했으나 다음과 같은 문제가 반복적으로 발생:
-
ContractServiceImpl:
- 복잡한 의존성 구조 (19개 메서드)
- Mapper와 Repository 메서드명 불일치
- MongoDB 문서 구조 복잡성
-
ChatServiceImpl:
- 23개 메서드, 다양한 의존성
- WebSocket 관련 복잡한 상태 관리
- Real-time 기능으로 인한 테스트 복잡성
-
HomeServiceImpl:
- DTO 구조 불일치 (setter 메서드 부재)
- HomeVO vs Home 클래스명 혼동
- Mapper 메서드 구조 파악 어려움
- 명확한 API 구조: NotificationServiceImpl, MyPageServiceImpl
- 단순한 의존성: PreContractDataServiceImpl
- 기존 테스트 참고 가능: FraudRiskServiceImpl, UserServiceImpl
- 기존 성공 테스트 확장: 현재 동작하는 테스트들의 커버리지 개선
- 단순 컴포넌트 우선: util, config 클래스들
- Controller 테스트: 상대적으로 단순한 API 테스트
최종 업데이트: 현재 14% 커버리지 (331/332 테스트 통과)