inflearn logo
강의

講義

知識共有

Java/Spring テストを追加したい開発者の間違いノート

コントローラを小型テストにする

controller 의 port 패키지의 service 인터페이스 사용

72

wlghsp3420

投稿した質問数 38

0

controller 패키지가 service 패키지에 의존해야하는데 interface를 controller의 port에 둠으로써 service가 controller에 의존하게 된다고 말씀하시고

 

수정한다고 했는데 수정이 없네요.

 

service 인터페이스들을 service.port 패키지로 옮겨주면 될거 같습니다.

spring tdd jpa 소프트웨어-테스트 unittest

回答 1

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다.

‘controller 패키지와 service 패키지 간의 의존성 관리’에 대한 질문을 주셨군요. 질문하신 내용에서는 현재 controller의 port 패키지에 service 인터페이스가 위치하면서 의존성 방향이 역전되는 문제가 발생하고 있습니다.

원래의 의도대로라면, controller는 service에 의존해야 하며, 이는 일반적으로 계층 구조에 맞는 방향입니다. 그러나 현재와 같이 의존성 역전이 발생하면 아키텍처상 올바르지 않은 방향으로 설계될 수 있습니다.

이 문제를 해결하기 위해, service 인터페이스를 service 패키지 내에 위치시켜야 합니다. 즉, service.port 패키지로 인터페이스를 이동하여 service가 주도적으로 사용할 수 있도록 설계하는 것이 적절합니다. 이를 통해 전통적인 계층 구조를 유지할 수 있으며, controller가 service에 의존하게 됩니다.

이와 비슷한 사례들이 강의의 기존 질문 및 답변 게시판에서도 다루어졌던 적이 있으니 한번 참고해보시면 더욱 도움이 될 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

UserService, CertificationService 책임 분리 기준 질문

0

26

1

service.port 패키지로 이동한 UserRepository가 infrastructure에 있는 UserEntity에 의존

0

58

1

Service 소형 테스트 질문

0

82

1

조회 시 엔티티를 조회하는 것이 아닌QueryDSL을 많이 사용 시 Dto는 어떻게 하나요?

0

116

1

빌드 문제

0

92

1

빌드 안 되시는 분들 참고

0

102

1

update에서 Repository.save

0

105

1

최종 완성된 코드를 받아 볼 수 있을까요?

0

156

1

의존성 역전으로 해결한 외부의존성?

0

162

1

좋은 설계

0

180

1

Controller에 테스트

0

138

1

JPA가 아닌 Mapper 아키텍처 기반 테스트 코드 작성

0

242

0

영속성 객체 구분으로 인한 JPA와 Querydsl의 Projection 사용

0

224

1

인프라계층 구현체와 테스트 구현체에 대한 질문

0

222

1

실습 코드 커밋

0

372

1

UserEntity 메서드

0

293

2

CertificationServiceTest에서 MailSender 인터페이스가 아닌 FakeMailSender를 이용하는 것

0

217

1

레이어드 아키텍처 개발에 대하여

0

231

1

BDDMockito의 when을 사용한 코드가 given 절에 있는 이유가 궁금합니다.

0

223

1

테스트에서 주입과 생성

0

198

1

프로젝트 코드는 제공해주시지 않는건가요?

0

382

2

개선된 아키텍처의 구조

0

277

1

서비스 레이어의 단위 테스트 범위 고민

0

188

1

도메인 객체 / entity 객체 / requset, response 객체 간 mapping 시 mapper 사용

1

344

1