被测试类:

  public ResponseEntity<String> save(@RequestBody DataSink ds,@RequestParam("file") MultipartFile file){

@RequestBody表示body的数据。
@RequestParam("file") 表示你上传的文件已经文件名字。

测试类

mvc.perform(MockMvcRequestBuilders.fileUpload(url)
                    .file("file",content)
                    .accept(MediaType.APPLICATION_JSON).characterEncoding("UTF-8")
                    .contentType(MediaType.APPLICATION_JSON)
                    .content(data))
                    .andExpect(status().isOk())
                    .andDo(document("DataSink/save"));

MockMvcRequestBuilders.fileUpload返回的是一个MockMultipartHttpServletRequestBuilder类,这个类继承自MockHttpServletRequestBuilder。这个两个类的实例化工厂都是通过MockMvcRequestBuilders.
MockMultipartHttpServletRequestBuilder方法file,其参数输入上传文件的名字与字节数组。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐