Spring MockMVC вставляет mockHttpServletRequest, когда отсутствует в сигнатуре метода
Учитывая, что я унаследовал некоторый код контроллера Spring MVC с подписью
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public ModelAndView upload(HttpServletRequest request, HttpServletResponse response) {
String remoteAddress = request.getRemotedAddr();
auditService.logAddress(remoteAddress);
// do work...
return mav;
}
и у меня есть тест Spring MockMvc, который выполняет тест
public void someTest() {
mockMvc().perform(fileUpload("/upload").file(FileFactory.stringContent("myFile")));
// do work...
verify(auditService.logAddress("123456"));
}
Мне нужно установить удаленный адрес на "12345" для объекта HttpServletRequest, который передается в мой метод контроллера загрузки, поэтому я могу проверить вызов макетаauditService в тесте.
Я могу создатьMockHttpServletRequest возразить и вызватьsetRemoteAddr () метод, но как передать этот объект запроса на вызов метода mockMvc ()?