-
카테고리
-
세부 분야
백엔드
-
해결 여부
해결됨
Junit Test DI 방식 질문드립니다.
22.12.22 17:43 작성 조회수 692
2
강의에서 보시면 영한님께서 OrderService와 OrderRepository를 주입 받을 때 @Autowired를 사용하시는데요.
이걸 @RequiredArgsConstructor를 사용하여 생성자 주입응로 하면 에러가 터지더라구요. org.junit.jupiter.api.extension.ParameterResolutionException
Test 환경에서는 @Autowired로 주입을 받아야 하는것인가요?
답변을 작성해보세요.
2
OMG
2022.12.22
OMG
2022.12.22
자료들을 찾아보니 junit4~5(이전버전=비교적 초반 5버전)에서는 테스트에서 생성자 주입이 되지 않았다고 하네요.
junit5(비교적 최신)에서 @TestConstuctor가 도입되어 가능하게 변경되었다고 하는데 이 부분은 직접 확인해보시면 좋을 것 같아요. 확인 후 결과를 공유해주시면 다른 수강생 분들에게도 많은 도움이 될 것 같습니다.
happycoding
질문자2022.12.23
보내주신 링크 참고하여 @TestConstructor(autowireMode = TestConstructor.AutowireMode.ALL) 어노테이션을 추가하고 @RequiredArgsConstructor 와 private final 방식으로 생성자 주입을 했더니 정상적으로 테스트가 실행되었습니다!
감사합니다!
답변 1