MockMVC测试上传文件功能

使用MOCKMvc测试文件上传功能
关键点:

  1. MockMvcRequestBuilders.fileUpload(“你的接口地址”).file(MockMultipartFile)
  2. MockMultipartFile(String name, String originalFilename, String contentType, InputStream contentStream),这个构造方法中第一个值name注意要对应接口中的MutipartFile file参数的名字,否则会上传失败。
@Test
	public void fileTest() throws Exception {
		ResultActions resultActions = mockMvc.perform(MockMvcRequestBuilders.fileUpload("/SSM/api/file/upload").
				file(new MockMultipartFile("file", "test", "application/ms-excel", new FileInputStream(new File("C:/Users/Administrator/Desktop/test.xls")))));
        MvcResult mvcResult = resultActions.andDo(MockMvcResultHandlers.print()).andExpect(MockMvcResultMatchers.status().isOk()).andReturn();
        String result = mvcResult.getResponse().getContentAsString();
        System.out.println("==========结果为:==========\n" + result + "\n");
	}
  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
mockmultipartfile是Spring框架中的一个测试工具类,用于模拟多文件上传的场景。在进行多文件上传测试时,我们可以使用mockmultipartfile来创建一个MockMultipartFile对象,该对象代表一个模拟的文件上传请求。 使用mockmultipartfile进行多文件上传测试的步骤如下: 1. 首先,我们需要导入相应的依赖,包括Spring Test和JUnit,以及MockMultipartFile的依赖。 2. 创建一个MockMultipartFile对象,该对象代表一个模拟的文件,可以通过指定文件名、文件类型、原始文件名和文件内容来构造。 3. 创建一个MockMultipartHttpServletRequest对象,该对象代表一个模拟的多文件上传请求,可以通过添加MockMultipartFile对象来构造多个文件。 4. 使用MockMultipartHttpServletRequest对象发送请求,并获取返回结果,进行相应的断言和验证。 例如,我们可以使用以下代码进行模拟多文件上传测试: ``` // 导入相关依赖 import org.springframework.mock.web.MockMultipartFile; import org.springframework.mock.web.MockMultipartHttpServletRequest; import org.springframework.web.multipart.MultipartFile; // 创建MockMultipartFile对象 MultipartFile file1 = new MockMultipartFile("file", "file1.txt", "text/plain", "file1 content".getBytes()); MultipartFile file2 = new MockMultipartFile("file", "file2.txt", "text/plain", "file2 content".getBytes()); // 创建MockMultipartHttpServletRequest对象 MockMultipartHttpServletRequest request = new MockMultipartHttpServletRequest(); request.addFile(file1); request.addFile(file2); request.setMethod("POST"); request.setRequestURI("/upload"); // 发送请求并获取返回结果 ResultActions result = mockMvc.perform(MockMvcRequestBuilders.fileUpload("/upload").file(file1).file(file2)); // 进行断言和验证 result.andExpect(MockMvcResultMatchers.status().isOk()); result.andExpect(MockMvcResultMatchers.jsonPath("$.message").value("上传成功")); ``` 通过使用mockmultipartfile,我们可以方便地进行多文件上传测试,并验证上传功能的正确性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值