Spring MockMVC injiziert mockHttpServletRequest, wenn keine Methodensignatur vorliegt

Dazu habe ich etwas Spring MVC Controller Code mit Signatur geerbt

@RequestMapping(value = "/upload", method = RequestMethod.POST)
public ModelAndView upload(HttpServletRequest request, HttpServletResponse response) {

  String remoteAddress = request.getRemotedAddr();
  auditService.logAddress(remoteAddress);

  // do work...

  return mav;
}

und ich habe einen Spring MockMvc Test, der den Test durchführt

public void someTest() {
    mockMvc().perform(fileUpload("/upload").file(FileFactory.stringContent("myFile")));

    // do work...
    verify(auditService.logAddress("123456"));
}

Ich muss die Remoteadresse für das HttpServletRequest-Objekt, das an meine Upload-Controller-Methode übergeben wird, auf "12345" festlegen, damit ich den verspotteten Aufruf überprüfen kannauditService In der Prüfung.

Ich kann einen erstellenMockHttpServletRequest Objekt und rufen Sie diesetRemoteAddr () Methode, aber wie übergebe ich dieses Mock-Request-Objekt an den Methodenaufruf mockMvc ()?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage