포스트

MockMvc를 이용한 문자열 검증 방법

개요

프로그래밍에서 테스트는 아주 중요한 작업입니다. Java와 Spring 프레임워크에서는 MockMvc라는 도구를 이용해 웹 애플리케이션을 테스트할 수 있습니다. 이 글에서는 MockMvc를 사용하여 response body에 있는 문자열을 어떻게 검증하는지 알아보겠습니다.

MockMvc란?

MockMvc는 Spring 프레임워크에서 제공하는 테스트 도구 중 하나입니다. 웹 서버를 실제로 실행하지 않고도 Spring MVC 웹 애플리케이션의 동작을 시뮬레이션할 수 있습니다. 이렇게 해서 서버 부하나 복잡한 환경 설정 없이 효율적으로 테스트를 진행할 수 있습니다.

문자열 검증 방법

MockMvc를 사용할 때 response body에 있는 문자열을 검증하려면 andExpect 메서드와 content().string 메서드를 사용하면 됩니다. 예를 들어, response body에 “Hello, World!”라는 문자열이 있는지 확인하려면 다음과 같이 코드를 작성할 수 있습니다.

1
2
3
mockMvc.perform(get("/hello"))
       .andExpect(status().isOk())
       .andExpect(content().string("Hello, World!"));

이 코드는 “/hello” 경로로 HTTP GET 요청을 보내고, 응답 상태가 200 OK인지, 그리고 응답 본문에 “Hello, World!”라는 문자열이 포함되어 있는지를 검증합니다.

주의사항

MockMvc의 content().string 메서드는 정확한 문자열 일치만을 검사합니다. 즉, 응답 본문에 추가적인 문자나 공백이 있으면 테스트는 실패합니다. 더 유연한 검증이 필요하다면 content().json이나 content().xml 같은 다른 메서드를 사용할 수 있습니다.

정리

MockMvc는 Spring 웹 애플리케이션을 테스트하는 강력한 도구입니다. andExpectcontent().string 메서드를 사용하여 응답 본문의 문자열을 쉽게 검증할 수 있습니다. 이 방법을 알고 있으면 웹 애플리케이션의 다양한 케이스에 대한 테스트를 효과적으로 수행할 수 있습니다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.