OMG 소개

<😀><😆><😁><😊>

ㅣ     ㅣ     ㅣ     ㅣ

/\  /\  /\  /\

OMG의 블로그

mockMvc의 andExpect()를 확장하여 더 자세히 테스트 하는 방법

public interface ResultActions { ResultActions andExpect(ResultMatcher var1) throws Exception; ResultActions andDo(ResultHandler var1) throws Exception; MvcResult andReturn();} andExpect()를 변수로 추출하여 ResultActions result = mockMvc.perform(post("/events") .param("name", "keesun") .param("limit", "-10")) .andExpect(status().isOk()) .andExpect(model().hasErrors()); ModelAndView mav = result.andReturn().getModelAndView();Map<String, Object> model = mav.getModel();System.out.print(model.size()); ModelAndView에서 모델을 가져와서 모델의 사이즈를 확인 할 수 있다. @Testvoid postEvent() throws Exception { ResultActions result = mockMvc.perform(post("/events") .param("name", "keesun") .param("limit", "-10")) .andExpect(status().isOk()) .andExpect(model().hasErrors()); ModelAndView mav = result.andReturn().getModelAndView(); Map<String, Object> model = mav.getModel(); System.out.print(model.size());} 강의에서는 위에 처럼 테스트 코드를 작성하였지만 ResultActions의 인터페이스를 보니 andReturn 또한 정의 되어 있어 아래와 같이 테스트 코드를 변환할 수 있을 것 같아 테스트 해보니 같은 동작을 하였다. @Testvoid postEvent() throws Exception { MvcResult mvcResult = mockMvc.perform(post("/events") .param("name", "keesun") .param("limit", "-10")) .andExpect(status().isOk()) .andExpect(model().hasErrors()) .andReturn(); // 메서드 체이닝의 끝을 andReturn()으로 수정 ModelAndView mav = mvcResult.getModelAndView(); Map<String, Object> model = mav.getModel(); System.out.print(model.size());} 출처: https://www.inflearn.com/course/%EC%9B%B9-mvc/dashboard

OMG (2)

지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의를
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스