본문 바로가기
Java & Spring Boot

Repository 테스트 @AutoConfigureJsonTesters

by 향각산 2023. 12. 5.
Unsatisfied dependency expressed through field 'objectMapper': 
No qualifying bean of type 'com.fasterxml.jackson.databind.ObjectMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

 

@WebMvcTest를 사용하는 ControllerTest에서는 @Autowired ObjectMapper를 사용했었는데,

@DataJpaTest에서 같은 방법으로 사용하려고 하니 위와 같은 에러가 났다.

에러 내용은 스프링빈에서 관리하는 ObjectMapper를 찾지 못한다는 것이다.

 

해결 방법은 간단하다. 다음처럼 @AutoConfigureJsonTester를 붙여주기만 하면 된다.

 

 

나는 해당 해결방법을 찾고, @WebMvcTest에는 @DAtaJapTest와 달리 @AutoConfigureJsonTester도 포함돼 있을 거라고 예상했다.

 

그러나 예상과 다르게 존재하지 않는다.

WebMvcTest이니 웹 계층에 데이터를 읽기위해서 ObjectMapper와 관련된 빈들이 자동 등록돼 있을 거란 생각은 해봤으나, 대체 어떤 구조로 이루어져 있는지 몰라서 좀 더 찾아봤다.

 

 

오늘 처음으로 spring-boot-test-autoconfigure를 열었는데, 봐도 잘 모르겠다.:(

 

아직도 한참 부족하다는것을 느낀다.