错误消息=必需的MultipartFile参数'file'不存在

Nim*_*sky 4 java spring unit-testing spring-mvc-test

测试一个spring文件上传表单,controlelr签名看起来像这样

@RequestMapping(value = "upload", method = RequestMethod.POST)
@ResponseBody
public void upload(@RequestParam("file") MultipartFile multipartFile) {}
Run Code Online (Sandbox Code Playgroud)

并测试这个

final MockMultipartFile file 
  = new MockMultipartFile("content", "myFile.txt", "text/plain", "hello".getBytes());

MockHttpServletRequestBuilder mockHttpServletRequestBuilder = 
  .fileUpload("/upload/")
  .file(file)
  .accept(MediaType.APPLICATION_JSON);
Run Code Online (Sandbox Code Playgroud)

但我得到上述内容:错误消息=必需的MultipartFile参数'file'不存在

Bet*_*eto 10

您将参数命名为"file"而不是"content":

更改:

new MockMultipartFile("content", "myFile.txt", "text/plain", "hello".getBytes());
Run Code Online (Sandbox Code Playgroud)

至:

new MockMultipartFile("file", "myFile.txt", "text/plain", "hello".getBytes());
Run Code Online (Sandbox Code Playgroud)