RepositoryTest의 패키지 위치가 domain인 이유
13
작성한 질문수 44
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
안녕하세요, 영한님.
ItemRepositoryTest 파일의 위치가 hello.iitemservice.repository가 아니라, hello.iitemservice.domain임을 확인했습니다.
제 생각으로는 단순 패키지 구조 오타로 인해 domain에 위치된 것이라고 여겨지는데요. 혹시 의도적으로 domain 패키지 하위에 두신 건지 궁금합니다!

답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
dev.rudevico님, 질문 주셔서 감사합니다.
ItemRepositoryTest 파일의 위치는 일반적으로 repository 패키지 내에 두는 것이 보편적입니다. 그러나 이번 경우, domain 패키지 하위에 위치되어 있는 이유는 다음과 같은 여러 가능성을 염두에 두고 생각할 수 있습니다:
리팩토링 전의 흔적: 프로젝트가 리팩토링 과정 중에 있거나, 구조가 변경되었을 가능성이 있습니다. 예를 들어, 테스트 코드가 처음에는 도메인과 관련된 테스트를 수행했으나, 이후 리포지토리 관련 코드로 변경된 경우일 수 있습니다.
테스트 도메인 관련성: 테스트가 도메인 모델과 밀접하게 연관되어 설계된 경우라면, 테스트 코드가 도메인 패키지 내에 위치하게 될 가능성도 있습니다.
패키지 실수: 말씀하신 것처럼, 단순히 패키지를 잘못 설정했거나 오타로 인한 것일 수 있습니다.
일반적으로는 테스트 패키지는 해당하는 기능적 패키지 하위에 놓는 것이 유지보수에 유리합니다. repository 관련 테스트는 repository 패키지 내에 위치하는 것이 코드의 가시성과 유지보수 측면에서 좋습니다.
만일 이 부분이 의도된 것이 아니라면, 정리를 통해 코드의 일관성을 높이는 것이 좋을 듯합니다. 이미지로 첨부해주신 디렉토리 구조에서도 이러한 점이 드러나며, 코드 수정 시 도움이 될 것입니다.
이미지 원본 URL: 디렉토리 구조 이미지
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
REQUIRES_NEW 해결 방법에 대해서 질문있습니다!!
0
25
1
update()에 사용하는 setter 질문드립니다.
0
43
1
SQL 중심적 개발의 문제점에 대한 질문
0
70
1
혹시 Containing 을 안쓰신 이유가 있을까요?
0
80
2
[공유] 스프링부트 4.x 버전 mybatis 연동
0
168
1
@repository 어노테이션
0
88
3
ItemService
0
55
1
논리 커밋, 물리 커밋 질문드립니다.
0
52
1
내부 트랜잭션 커밋은 필수인가요?
0
55
1
프록시 커넥션 객체를 반환할 때 생성하는건가요?
0
52
1
Transaction readOnly 성능 개선 (김영한님의 대한 감사인사)
2
175
2
JPQL 대신 네이티브 쿼리를 사용해야 하는 경우
0
76
1
@EventListener(ApplicationReadyEvent.class) 관련
0
86
1
트랜잭션 동기화 매니저와 데이터 소스
0
74
1
DB 관련 강의 개설 계획은 없으신건가요?
0
132
2
물리 트랜잭션 과 논리트랜잭션 용어를 맞게 이해한걸까요
0
92
1
스프링 3 버전 이상 rollbackFor 변경된듯요
1
109
1
트랜잭션 전파 질문.
0
86
1
프로젝트 오픈 에러
0
124
1
외부 트랜잭션에서 isNewTransaction이 false로 나오는거에 대해 질문드립니다
0
82
2
같은 스레드를 사용하면 트랜잭션 동기화 매니저는 같은 커넥션을 반환
0
70
1
h2 인메모리 테스트중 예약어 충돌날 경우 대처방법
0
99
1
커스텀aop와 트랜잭션을 같이 사용할때 우선순위에 관한 질문
0
94
2
아이솔레이션 레벨에 관한 내용도
0
69
1





