我使用Spring Boot创建了一个文件上传服务,并使用Spring Mock Mvc和MockMultipartFile对其进行了测试。我想测试超过最大文件大小时是否引发错误。以下测试失败,因为它收到200。

RandomAccessFile f = new RandomAccessFile("t", "rw");
f.setLength(1024 * 1024 * 10);
InputStream is = Channels.newInputStream(f.getChannel());

MockMultipartFile firstFile = new MockMultipartFile("data", "file1.txt", "text/plain", is);

mvc.perform(fileUpload("/files")
    .file(firstFile))
    .andExpect(status().isInternalServerError());

是否有可能测试上传文件的大小?

最佳答案

根据documentation:



尝试以下方法:

byte[] bytes = new byte[1024 * 1024 * 10];
MockMultipartFile firstFile = new MockMultipartFile("data", "file1.txt", "text/plain", bytes);

10-07 18:17