#testcode

질문 3
해시태그 없이 키워드만 일치하는 질문은 개수에 포함되지 않아요.

2년 전 · 또르르 님의 새로운 답변

TestCode에서 객체 상태를 검증하기 위한 방법 (Getter vs equals and HashCode 을 구현한 객체)

순수 Java 언어를 통해서 객체지향을 연습하고자 했고, Domain 객체에서 getter을 최대한 지양한 상태에서 구현했습니다. 로직 검증을 위해 Test Code을 작성하던 중 의문점이 생겼습니다. Test Code을 작성해서 내부 객체의 상태 값을 검증할땐 프러덕션 코드에 제공된 getter가 없어 equals and hashcode을 재정의하여 객체의 상태를 검증하고자 했습니다. (Equals and HashCode는 주로 Value Object에 대해서만 재정의 했습니다.) 하지만 때론, 객체을 생성해서 검증할땐 객체의 주생성자 안에 있는 validate 조건에 의해 객체 자체가 생성하기 어려운 경우가 있어 "객체 대 객체"로 검증하기 어려운 점이 있었습니다. # 1 이런 경우 어떻게 Test을 할 수 있을까요?? 어쩔 수 없이 test code 만을 위해서 내부 상태를 검증하도록 getter을 추가해야 할까요?? # 2 또한 만약 이미 getter가 구현된 상태이고 객체의 validate 조건을 피해서 객체를 만들 수 있다면 "객체 대 객체" 비교 말고 getter을 통해서 상태 검증을 해도 괜찮을까요??

개발자

#java

#junit

#testcode

#getter

#객체지향

답변 2

댓글 0

조회 588