我正在尝试(通过 Spring 测试(mvc))测试一个使用servletRequest.getParts()
到目前为止,我所读到的MockMvcRequestBuilders.fileUpload().file()
就是解决方案。但是我不能让它工作。我写了以下失败的测试
MockMultipartHttpServletRequestBuilder builder = MockMvcRequestBuilders.fileUpload("/foo")
.file(new MockMultipartFile("file", new byte[] { 1, 2, 3, 4 }));
MockHttpServletRequest rq = builder.buildRequest(null);
Assert.assertEquals(1, rq.getParts().size()); // result 0
我浏览了spring代码,并调用了在何时从另一个列表中获取其元素时file(...)
添加一个元素List<MockMultipartFile>
getParts()
(Map<String, Part> parts)
必须有另一种方法来做到这一点......
编辑 1
我用来测试控制器的代码是:
ResultActions result = mockMvc.perform(
MockMvcRequestBuilders.fileUpload(new URI("/url")).file("param", "expected".getBytes()))