根据XML配置规则导入Excel数据(七)测试

简介:
  测试代码
 
 
package com.randy; 

import java.io.InputStream; 
import java.util.Iterator; 
import java.util.List; 
import java.util.Map; 

import junit.framework.TestCase; 

import org.apache.commons.beanutils.PropertyUtils; 

import com.ivfly.xlsbean.BeanSpecification; 
import com.ivfly.xlsbean.BeansSpecification; 
import com.ivfly.xlsbean.ExcelAble; 
import com.ivfly.xlsbean.ExcelReader; 
import com.ivfly.xlsbean.test.Bean; 

public  class Test  extends TestCase { 
   public  void test1(){ 
    String xlsdir=ClassLoader.getSystemResource( "com/ivfly/xlsbean/test/").getPath(); 
     //根据配置文件获得描述 
    InputStream xmlStream = ClassLoader.getSystemResourceAsStream( "com/ivfly/xlsbean/test/bean.xml"); 
    BeansSpecification beans = BeansSpecification.getInstance(xmlStream); 
    BeanSpecification bean = beans.getBeanByClassName(Bean. class.getName()); 
    List<ExcelAble> list = ExcelReader.parseXls2Beans(bean,xlsdir, "测试用户数据.xls"); 
    List<String> pl = bean.getPropertyList(); 
    Map<String,String> head = bean.getNv(); 
    Iterator<String> iter = head.keySet().iterator(); 
     while(iter.hasNext()){ 
      String key = iter.next(); 
      String value = head.get(key); 
      System.out.print( "|"+value+""); 
    } 
     
    System.out.println( "---------------------"); 
     for(ExcelAble o : list){ 
       if(!o.isCheck()){ 
         continue
      } 
       for(String p : pl){ 
         try { 
          Object value =  null
          value =PropertyUtils.getProperty(o,p); 
          System.out.print( "|p="+p+ ";v="+value+""); 
        }  catch (Exception e) { 
          e.printStackTrace(); 
        }    
         
         
      } 
//      while(iter2.hasNext()){ 
//        String key = iter2.next(); 
//        Object value = null; 
//        try { 
//          value =PropertyUtils.getProperty(o,key); 
//        } catch (Exception e) { 
//          e.printStackTrace(); 
//        }    
//        System.out.print("|"+value+""); 
        
//      }     
      System.out.println(); 
    } 
     
     
     for(ExcelAble o : list){ 
       if(!o.isCheck()){ 
        System.out.println(o.getMessage()); 
      }        
    } 
  } 

 
 
结果
 
|编号|用户名|QQ号|年龄|出生日期--------------------- 
|p=id;v=wl002|p=name;v=null|p=qq;v=20316558|p=age;v=23|p=birthDate;v=Fri Dec 23 00:00:00 CST 2011 
第4行数据:年龄 数据格式不正确 

第6行数据:年龄 数据格式不正确 

Excel数据
 
最后。
这是自己在元旦假期,闲来无事。花了一整天的时间,研究的结果。
比较仓促。还存在一些问题。比如:
1.这只是针对列表的导入
2.如果是对单个对象的导入则不支持
3.没有字符串长度的验证
4.只是简单验证了下年龄有效性的验证,其他的均没有验证。
5.时间的导入,是否支持多种类型
7.没有提供字典信息编码的支持。
 
以后自己再慢慢 丰富吧。
今天自己又复习了下
Digester
BeanUtils
lang
 


本文转自 randy_shandong 51CTO博客,原文链接:http://blog.51cto.com/dba10g/756541,如需转载请自行联系原作者
相关文章
|
11天前
|
DataWorks NoSQL 关系型数据库
DataWorks操作报错合集之在使用 DataWorks 进行 MongoDB 同步时遇到了连通性测试失败,实例配置和 MongoDB 白名单配置均正确,且同 VPC 下 MySQL 可以成功连接并同步,但 MongoDB 却无法完成同样的操作如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
29 1
|
15天前
|
JavaScript API
【vue】分环境构建(开发/测试/生产)配置
【vue】分环境构建(开发/测试/生产)配置
18 1
|
17天前
|
Ubuntu Linux 测试技术
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试(下)
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试
49 1
|
17天前
|
Ubuntu Linux 测试技术
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试(上)
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试
62 0
|
18天前
|
分布式计算 Hadoop Scala
Spark【环境搭建 01】spark-3.0.0-without 单机版(安装+配置+测试案例)
【4月更文挑战第13天】Spark【环境搭建 01】spark-3.0.0-without 单机版(安装+配置+测试案例)
21 0
|
19天前
|
关系型数据库 Java 测试技术
云效产品使用常见问题之流水线Maven单元测试链接rds要配置白名单如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
25天前
|
jenkins 测试技术 持续交付
Jenkins配置测试报告后无法正常显示或显示空的解决方法(问题集锦)
根据具体情况逐一排查上述问题,往往可以解决Jenkins配置测试报告无法正常显示或显示空的问题。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
22 0
|
27天前
|
Java 测试技术
[软件自动化测试] selenium java环境配置
介绍了包括选择Gradle构建,关闭Gradle Wrapper的默认下载,修改`gradle-wrapper.properties`以使用腾讯云镜像,以及更新`build.gradle`文件添加国内仓库和Selenium依赖。在测试驱动部分,创建了一个简单的JUnit测试用例,展示了如何初始化Edge浏览器并访问网站。运行测试时可能出现关于CDP版本不匹配的警告,可以通过升级Selenium依赖中的CDP版本来解决。推荐根据[Selenium库网页](https://search.maven.org/search?q=g:org.seleniumhq.selenium)提供的版本信息进行升级
340 6
|
4月前
|
数据可视化 数据挖掘 Python
基于Python开发的Excel数据分析系统(源码+可执行程序+程序配置说明书+程序使用说明书)
基于Python开发的Excel数据分析系统(源码+可执行程序+程序配置说明书+程序使用说明书)
|
5月前
|
测试技术 API 容器