Test/Junit

[MockMvc] Pageable

잔망루피 2022. 9. 17. 20:00
반응형
@BeforeEach
public void before(){
    this.mockMvc= MockMvcBuilders.standaloneSetup(new PostRestController(this.postService))
            .setCustomArgumentResolvers(new PageableHandlerMethodArgumentResolver())
            .build();
}
class PageableHandlerMethodArgumentResolver 웹 요청에서 페이징 정보를 추출하므로 Pageable 인스턴스를 컨트롤러 메소드에 주입한다.
class StandaloneMockMvcBuilder @Controller 등록을 허용하는 MockMvcBuilder는 일반 단위 테스트와 유사한 컨트롤러의 인스턴스화 및 초기화 및 종속성을 완전히 제어할 수 있으며 한 번에 하나의 컨트롤러를 테스트할 수도 있다.
이 builder는 DispatcherServlet이 컨트롤러에 명시된 요청을 수행하고 또한  필요한 최소한의 환경을 생성한다.
@Test
public void list() throws Exception{
    String keyword="vlog";
    mockMvc.perform(get("/rest/posts/search")
                    .contentType("application/x-www-form-urlencoded")
                    .param("keyword", keyword))
            .andDo(print())
            .andExpect(status().isOk());
}

 

 

참고 👇

https://stackoverflow.com/questions/51128457/testing-rest-controller-with-pageabledefault

 

Testing rest controller with PageableDefault

Im trying to test a rest service that has @getmapping one param and PageableDefault @GetMapping(path = "/api/{serial}/gender") public ResponseEntity<?> task( @PathVariable(val...

stackoverflow.com

 

https://velog.io/@jkijki12/Spring-MockMvc

 

[Spring] MockMvc 공부하자!!

MockMvc가 뭔데!!

velog.io

 

https://docs.spring.io/spring-data/commons/docs/current/api/org/springframework/data/web/PageableHandlerMethodArgumentResolver.html#PageableHandlerMethodArgumentResolver--

 

PageableHandlerMethodArgumentResolver (Spring Data Core 2.7.2 API)

 

docs.spring.io

 

반응형