我想测试使用 MockMultipartFile 将超大图像文件发送到 Spring Boot 服务器时会发生什么。
@SpringBootTest
@AutoConfigureMockMvc
class PostControllerTest {
@Autowired
private MockMvc mockMvc;
@Test
@Transactional
void overSizePostUploadTest() throws Exception {
SignUpRequest signUpRequest = addMember();
Cookie cookie = login(signUpRequest);
String originalFilename = "image_of_17MB.jpg";
try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream(originalFilename);) {
MockMultipartFile file = new MockMultipartFile("image", originalFilename, MediaType.IMAGE_JPEG_VALUE, inputStream);
ResultActions actions = mockMvc.perform(MockMvcRequestBuilders.multipart("/posts")
.file(file)
.param("title", "this is title")
.param("content", "this is content")
.contentType(MediaType.MULTIPART_FORM_DATA)
.cookie(cookie)
);
actions.andExpect(status().isBadRequest());
}
}
}
MockMultipartFile 不包含在 MockHttpServletRequest 中。 出现这个问题的原因是什么??
我认为MockMultipartFile应该包含在MockHttpServletRequest中。
有趣的是,我也遇到了类似的问题
MockServletRegistration
,正如你在这里看到的。
据我所知,
MockMultipartFile
如果两者都存在,您可以提出功能请求。