왜지??? 하고 보니
org.springframework.test.web.servlet 의 Interface ResultActions
클래스인 줄 알았는데 인터페이스였다. 눈이 있으면 좀 뜨자 - _ -
public interface ResultActions
Allows applying actions, such as expectations, on the result of an executed request.
See static factory methods in MockMvcResultMatchers and MockMvcResultHandlers.
andExpect
ResultActions andExpect(ResultMatcher matcher) throws Exception
Assertion 과 같은 역할. 여러번 반복할 수 있다.예시)
mockMvc.perform(get("/person/1")) .andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)) .andExpect(jsonPath("$.person.name").value("Jason"));
andDo
ResultActions andDo(ResultHandler handler) throws Exception
Perform a general action.예시)
mockMvc.perform(get("/form")).andDo(print());
andExpectAll
default ResultActions andExpectAll(ResultMatcher... matchers) throws Exception
개중 하나의 Expectation이 예외를 던지더라도 모든 Expectation을 실행시킨다.
If a single Error or Exception is thrown, it will be rethrown.여러개의 Exception이 던져진다면 모든 Exception의 요약 메시지를 담고 있는 AssertionError를 던진다.
예시)
andExpect() 를 여러번 발생시키는 대신 andExpectAll() 을 사용할 수 있다.mockMvc.perform(get("/person/1")) .andExpectAll( status().isOk(), content().contentType(MediaType.APPLICATION_JSON), jsonPath("$.person.name").value("Jason") );
andReturn
MvcResult andReturn()
Return the result of the executed request for direct access to the results.
좋은 글 감사합니다.