我有下面的请求处理器来保存自动。我已经验证了当我使用cURL时它可以工作。现在我想用Spring MVC Test对这个方法进行单元测试。我试过使用fileUploader,但是我没有设法让它工作。我也没有设法添加JSON部分。
我如何用Spring MVC测试单元测试这个方法?我找不到任何关于这个的例子。
@RequestMapping(value = "autos", method = RequestMethod.POST)
public ResponseEntity saveAuto(
@RequestPart(value = "data") autoResource,
@RequestParam(value = "files[]", required = false) List<MultipartFile> files) {
// ...
}
我想为我的auto +一个或多个文件上传一个JSON表示。
我会在正确答案上再加100英镑
5条答案
按热度按时间gxwragnw1#
由于
MockMvcRequestBuilders#fileUpload
已被弃用,您将需要使用返回MockMultipartHttpServletRequestBuilder
的MockMvcRequestBuilders#multipart(String, Object...)
,然后链接一系列file(MockMultipartFile)
调用。下面是一个工作示例。给定
@Controller
和单元测试
而
@Configuration
类测试应通过,给予输出
需要注意的是,除了内容类型不同之外,发送JSON就像发送任何其他多部分文件一样。
cyej8jka2#
方法
MockMvcRequestBuilders.fileUpload
已弃用,请改用MockMvcRequestBuilders.multipart
。这是一个例子:
bcs8qyzn3#
请看这个取自Spring MVC展示的示例,这是source code的链接:
lx0bsm1f4#
下面是我的工作,这里我附加了一个文件到我的电子邮件控制器测试。也看看 Postman 屏幕截图上我是如何张贴的数据。
disho6za5#
如果你使用的是Spring 4/SpringBoot 1.x,那么值得一提的是你也可以添加“文本”(json)部分,这可以通过MockMvcRequestBuilders.fileUpload().file(MockMultipartFile文件)来完成(这是因为
.multipart()
方法在这个版本中不可用):