mockMvc的上传和下载

    一、mockMvc上传测试

  1.  上传代码:
File file = new File("test-DealerDiscountRate_20191024163505.xlsx");//上传的文件
			MockMultipartFile multiFile = new MockMultipartFile("file", "test-DealerDiscountRate_20191024163505.xlsx",
					MediaType.MULTIPART_FORM_DATA_VALUE, new FileInputStream(file));
            //上传的地址及参数
			ResultActions resultActions = mockMvc.perform(MockMvcRequestBuilders.
					fileUpload("/service/dealerFinanceInfoMaintain/importDiscountRate")
					.file(multiFile));
			MvcResult mvcResult = resultActions.andDo(MockMvcResultHandlers.print())
					.andExpect(MockMvcResultMatchers.status().isOk()).andReturn();
			String result = mvcResult.getResponse().getContentAsString();
			LOGGER.info("导入输出 :" + mvcResult.getResponse().getContentAsString());
			JSONObject jsonObject = JSON.parseObject(result);
			Assert.assertTrue(jsonObject.getString("code").equals("20000"));

 

 二、mockMvc下载测试

  1.  下载代码
    mockMvc.perform(
    					MockMvcRequestBuilders.post("/service/dealerFinanceInfoMaintain/downloadDealerFinance?" + Constants.TEST_KEY))
    			        
    					.andExpect(MockMvcResultMatchers.status().isOk()).andDo(new ResultHandler() {
    
    						@Override
    						public void handle(MvcResult result) throws Exception {
    							result.getResponse().setCharacterEncoding("UTF-8");
    							MockHttpServletResponse contentRespon = result.getResponse();
    							InputStream contentInStream = new ByteArrayInputStream(
    									contentRespon.getContentAsByteArray());
    							XSSFWorkbook resultExcel = new XSSFWorkbook(contentInStream);
    							Assert.assertEquals("multipart/form-data", contentRespon.getContentType());
    							XSSFSheet sheet = resultExcel.getSheet("经销商财务信息");
    							Assert.assertNotNull(sheet);
    							
    							String fileName = "DealerFinanceInfo" + DateUtil.format(new Date(), DateUtil.FORMAT_DATETIME_YYYYMMDDHHMMSS)
    		                    + ".xlsx";
    
    							String filePath = "test-"+fileName;
    							File file = new File(filePath);
    							OutputStream out = new FileOutputStream(file);
    							resultExcel.write(out);
    							resultExcel.close();
    							Assert.assertTrue(file.exists());

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值