본문 바로가기
오류 해결

No primary or single unique constructor found for interface org.springframework.data.domain.Pageable

by syLim___ 2025. 4. 19.
728x90

✅ 에러 상황

 

컨트롤러 단위테스트를 하던 중 No primary or single unique constructor found for interface org.springframework.data.domain.Pageable 예외가 발생했다.

 

그러나... MockMvcRequestBuilders.get()을 이용해 요청메시지를 만들어줄때 분명히 size, page, sort 파라미터를 지정해주었다.

만들어진 요청을 print해봐도 파라미터가 제대로 추가된 것을 볼 수 있었다.

 

✅ 원인

스프링부트 애플리케이션에서는 PageableHandlerMehtodArgumentResolver가 등록되어 있다.

PageableHandlerArgumentResolver가 size, page, sort 파라미터들을 보고 자동으로 Pageable 객체를 생성해서 주입해준다.

 

하지만 현재 테스트환경에는 PageableHandlerArgumentResolver가 등록되어 있어서 자동 변환이 이루어지지 않는다.

 

 

✅ 해결

테스트 환경에 PagealeHandlerArgumentResolver를 추가해준다.

728x90