java - 错误消息 = 所需的 MultipartFile 参数 'file' 不存在

标签 java spring unit-testing spring-mvc-test

测试一个spring文件上传表单,controlrr签名是这样的

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

然后测试这个

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

MockHttpServletRequestBuilder mockHttpServletRequestBuilder = 
  .fileUpload("/upload/")
  .file(file)
  .accept(MediaType.APPLICATION_JSON);

但我收到上述消息:错误消息 = Required MultipartFile parameter 'file' is not present

最佳答案

您将参数命名为"file"而不是“内容”:

改变:

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

收件人:

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

关于java - 错误消息 = 所需的 MultipartFile 参数 'file' 不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18833683/

相关文章:

python - 带有可选键的字典策略

c# - 在 C# 中测试控制台输入和输出控制台应用程序

java - doThrow 中看起来正确的 Mockito 异常

java - 静态字段 getResource

java - CPython 2.7 + Java

java - 如何向 XML DOM 对象添加命名空间前缀?

java - Spring Boot 中的单元测试在服务中抛出异常时给出错误

java - intellij 错误地说没有为 Autowiring 的存储库找到类型的 bean

java - SOAPHandler:如何从子元素中删除自动添加的命名空间/属性

c# - 对普通类进行单元测试覆盖是好习惯吗