반환 타입이 void인 메서드에 대한 질문이 있습니다.
안녕하세요 강의 잘 듣고 있습니다!


위 사진처럼 Service 레이어에서 반환 타입이 void인 메서드의 경우, assertJ로 검증하는 방법이 있나요? 해당 메서드에서 create 작업을 수행하지만 굳이 생성된 객체를 응답할 이유가 없어서요!
예전에 임시로 반환 타입을 바꿔서 생성된 객체를 검증하는 식으로 테스트를 작성하면 된다는 얘기를 들었는데, 결국 void로 되돌리게 되면 테스트가 실패하니까 테스트를 주석 처리할 수 밖에 없었거든요...이렇게 하게 되면 테스트 코드를 작성하는 의미도 좀 퇴색되는 것 같아서 고민이 됩니다!
일단은 급한대로 then은 비워두었습니다만 이렇게 하는 게 좋은 방법일까요?
답변 1
1
안녕하세요, 이승민 님!
먼저, 말씀주신 내용처럼 임시로 반환타입을 바꿔서 검증하고 테스트를 주석처리하는 방법 은 권하지 않습니다.
강의 전반적으로 제가 강조드린 부분이기도 하지만, 프로덕션 코드와 맞물려서 프로덕션 코드를 뒷받침하지 않는 테스트 코드는 무용지물이기 때문입니다.
void 타입의 메서드 시그니처는 반환값이 없다보니 테스트하기가 어려운데요.
들어주신 예시에서는, 통합테스트 관련 강의에서 말씀드렸던 것처럼 ReviewRepository를 통해 데이터를 조회하여 의도한대로 Review 데이터가 저장이 잘 되었는지를 검증할 수 있을 것 같아요. ㅎㅎ
감사합니다. 🙂
private 상수 테스트 관련 질문
0
82
1
void는 어떻게 테스트하나요..? void로 애초에 코딩하면 안되나요??
0
124
2
커버리지는 어떻게 활용하시는지 궁금합니다.
0
159
2
테스트 문서화 질문입니다
0
104
2
단위테스트 질문이 있습니다
0
94
2
컨트롤러는 모킹을 한 이유가 궁금합니다.
0
100
2
ERD 가장자리에 있는 도메인 테스트 질문
0
86
2
DTO 검증 필드에 대한 테스트 코드 작성은 어디까지?
0
131
2
OrderCreateRequest DTO에 대해서 궁금한점
0
101
2
고전파의 테스트 대역 사용 대상, 공유 의존성
0
154
2
계층 관련 질문이 있습니다.
0
137
3
'코틀린'에서는 빌더를 따로 쓰지 않는데, 이 때는 어떻게 test fixture를 만드시는지 궁금합니다
1
122
2
혹시 update 로직은 어떻게 테스트하나요? (@Setter?)
0
133
2
단위테스트와 통합테스트의 경계가 궁금합니다.
0
226
2
Service+Repository 통합테스트 관련 질문입니다.
0
149
2
OrderControllerDocsTest 작성 해봤는데요. 날짜 형식이 이상하게 나와요
0
183
2
test 용 .yml
0
89
2
throws Exception
0
78
2
카페키오스크 클래스 문의 ,,
0
87
2
Rest docs 문서용 테스트코드를 따로 작성해야 되나요?
0
171
2
테스트 코드에서 필요한 생성자
0
136
1
tearDown 순서
0
114
2
@Builder 생성자 private
0
133
2
@DisplayName gradle / intellJ
0
91
2





