문제 상황
- Spring MVC의 컨트롤러에서 요청 보낸 사람의 IP를 확인하기 위해서
HttpServletRequest
를 파라미터로 받고 있다.
@PutMapping
fun put(request: HttpServletRequest) {
// ...
request.remoteAddr
// ...
}
- 단위 테스트를 작성할 때,
HttpServletRequest
를 인자로 넘겨야되는데, 이는 인터페이스라서 직접 구현해야되는 상황이 발생했다.
해결 방법
- Spring Test에서는
MockHttpServletRequest
를 제공해주고 있다. 이는HttpServletRequest
의 구현체다.
@Test
fun test() {
controller.put(MockHttpServletRequest())
}