더북(TheBook)

웹 애플리케이션을 올바르게 테스트하려면 웹 애플리케이션에 실제 HTTP 요청을 보내고 애플리케이션이 요청을 제대로 처리했는지 검증할 방법이 있어야 한다. 다행히 스프링 부트 애플리케이션 개발자에게는 웹 애플리케이션을 테스트할 수 있는 두 가지 옵션이 있다.

스프링 Mock MVC : 애플리케이션 서버를 구동하지 않고도 서블릿 컨테이너와 거의 비슷하게 작동하는 목 구현체로 컨트롤러를 테스트할 수 있다.

웹 통합 테스트 : 톰캣, 제티 등 내장 서블릿 컨테이너에서 애플리케이션을 실행하여 실제 애플리케이션 서버에서 애플리케이션을 테스트할 수 있다.

 

테스트 방법마다 장단점이 있다. 물론 서버를 시작하는 방식이 서블릿 컨테이너를 모킹하는 방식보다 테스트 시간이 더 오래 걸린다. 하지만 서버 기반의 테스트가 출시용으로 배포할 때 실제 실행 환경과 더 가깝다는 점은 의심할 여지가 없다.

먼저 스프링 Mock MVC 테스트 프레임워크로 웹 애플리케이션을 테스트하는 방법을 살펴볼 것이다. 그런 다음 4.3절에서 실제 애플리케이션 서버에서 실행 중인 애플리케이션을 대상으로 테스트를 작성하는 방법을 알아본다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.