본문 바로가기
IT/spring

MockMvc 메소드

by 뉴코딩맨 2023. 7. 6.
MockMvc는 스프링 MVC 애플리케이션의 테스트를 작성할 때 사용되는 프레임워크입니다. MockMvc를 사용하면 실제 HTTP 요청을 보내지 않고도 컨트롤러의 동작을 테스트할 수 있습니다. MockMvc의 기능과 사용법에 대해 알아보고, 실제 예시를 통해 설명하겠습니다.
 
 

MockMvc 메소드

  • 개념: MockMvc는 스프링 MVC 애플리케이션의 테스트를 위해 제공되는 클래스입니다. MockMvc를 사용하여 컨트롤러의 특정 메소드를 호출하고, 결과를 검증할 수 있습니다.
  • 기능: MockMvc는 다양한 메소드를 제공하여 컨트롤러의 동작을 테스트할 수 있습니다. 주요 메소드는 다음과 같습니다.
  • perform(requestBuilder): 지정된 요청을 실행하고 결과를 반환합니다.
  • andExpect(resultMatcher): 응답 결과를 검증합니다.
  • andReturn(): 요청 및 응답을 객체로 반환합니다.
 
@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureMockMvc
public class MyControllerTest {

    @Autowired
    private MockMvc mockMvc;

    @Test
    public void testMyController() throws Exception {
        mockMvc.perform(get("/api/my-endpoint"))
               .andExpect(status().isOk())
               .andExpect(jsonPath("$.message").value("Success"));
    }
}
 
위의 예시에서 mockMvc.perform(get("/api/my-endpoint"))는 /api/my-endpoint로 GET 요청을 보냄을 의미합니다. 그리고 .andExpect(status().isOk())는 응답 상태 코드가 200인지 검증하고, .andExpect(jsonPath("$.message").value("Success"))는 응답 본문의 message 필드가 "Success"인지 검증합니다.
 
 

결론

MockMvc는 스프링 MVC 애플리케이션의 테스트를 편리하게 작성할 수 있는 도구입니다. MockMvc를 사용하여 컨트롤러의 동작을 시뮬레이션하고, 응답 결과를 검증할 수 있습니다. 이를 통해 개발자는 안정적이고 견고한 애플리케이션을 구축할 수 있습니다.
 

댓글