인프런 커뮤니티 질문&답변

Herb님의 프로필 이미지

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

회원 기능 테스트

엔티티 기본 생성자를 protected로 했을 때 테스트 질문

해결된 질문

21.08.29 21:02 작성

·

822

0

선생님 안녕하세요, 처음이라 모든 것이 낯설지만 양질의 강의 덕에 순조롭게 학습을 진행하고 있습니다. 감사합니다 ^^

다름이 아니라, 앞 강의 (엔티티 설계 주의점) 및 강의자료(p29)에서 Entity나 Embedded type 생성자를 protected로 하는 것이 더욱 안전하다고 말씀해주셨습니다. 그래서 Entity의 생성자도 protected로 설정하고 진행해보았습니다.

그런데 테스트를 하려고 보니 테스트용 Entity 객체를 생성할 수 없는 문제가 생겨서 일단 default 생성자를 public으로 하고 계속하였습니다.

혹시 protected 생성자를 사용하면 테스트하는 방법이 있는지요, 아니면 이러한 문제로 인해 Entity는 public 생성자를 사용해야 하는지요?

답변 2

1

Herb님의 프로필 이미지
Herb
질문자

2021. 08. 30. 14:24

와 정말 감사드립니다 ㅠㅠ

1

codesweaver님의 프로필 이미지

2021. 08. 30. 14:03

안녕하세요, Catnip 님. 공식 서포터즈 codesweaver 입니다.

.

해당 문제를 해결하는 방법으로는 static 메서드나 빌더 패턴을 고려할 수 있습니다.

아래의 링크는 static 메서드를 이용하여 문제를 해결하는 방법을 설명한 링크이고,.
[JPA] 왜 JPA의 Entity는 기본 생성자를 가져야 하는가? :: Hyeonic's Blog (tistory.com)

.

아래의 링크는 제가 빌더 패턴을 사용하는 방법에 대해 정리했던 노트 이니 한번 보시면 도움이 되실거에요.

https://flashy-toucan-1ed.notion.site/Builder-7b7077515d674958b76076485dc0117d

.
감사합니다.

Herb님의 프로필 이미지

작성한 질문수

질문하기