署名付きの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"));
}
アップロード コントローラー メソッドに渡される HttpServletRequest オブジェクトのリモート アドレスを「12345」に設定する必要があるため、テストでauditServiceの呼び出しを検証できます。
MockHttpServletRequestオブジェクトを作成してsetRemoteAddr()メソッドを呼び出すことはできますが、このモック リクエスト オブジェクトを mockMvc() メソッド呼び出しに渡す方法を教えてください。