MockMultipartFile 不包含在 MockHttpServletRequest 中

问题描述 投票:0回答:1

我想测试使用 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());
        }
    }
}

image location

结果就像 this

MockMultipartFile 不包含在 MockHttpServletRequest 中。 出现这个问题的原因是什么??

我认为MockMultipartFile应该包含在MockHttpServletRequest中。

java spring spring-boot spring-mvc junit
1个回答
0
投票

有趣的是,我也遇到了类似的问题

MockServletRegistration
,正如你在这里看到的

据我所知,

  1. 你需要一个具体的用例
  2. 他们需要计划引入
    MockMultipartFile

如果两者都存在,您可以提出功能请求。

© www.soinside.com 2019 - 2024. All rights reserved.