爽爽的单元测试

       上一周我给项目组做了单元测试的培训,一直觉得有点不是很顺手。因为,一般来讲,如果想要向大家宣扬单元测试的思想,向项目组推广单元测试,那么,自己也应该对单元测试很精通,至少平时应该坚持TDD吧。前一段时间确实做得不是很好。因为,自己也已经很少做单元测试了,这次,为了教育的目的,居然也找不到一些自己写得比较好的单元测试的例子。
       今天晚上写BUG导入的XLS方式:通过解析XLS文件,将BUG导入到数据库中。当然,XLS文件需要满足一定的规则,因此,在导入之前,需要先对XLS文件做解析。主要工具是:jexcel。
       对jexcel工具的不熟悉,以及之前做的单元测试培训。我在今天的开发过程中,采用的就是TDD的方法。编写单元测试,测试各种情况下是不是会出错,一步一步,小步的迭代,运行,看到Green Bar。重构,再继续运行测试,看到的还是Green Bar。感觉很好,重构了之后,代码比以前简洁了很多,并且对性能也有很大的提高。缓存了Label和Column的对应关系,避免了重复的方法调用。
       编写代码370行,测试代码130行。还没有达到1:1的比例,还有很大的提升空间。
       另外,对private做单元测试的话,需要使用反射方法。我想肯定也有其它的方式,这里就采用最简单的方式就可以了:)
      
java 代码
 
  1. public void testGetRow() throws Exception {  
  2.     File file = getFile("cn/ac/iscas/share/bug/bug.xls");  
  3.     XSLFileImporter importer = new XSLFileImporter(0, file);  
  4.     Method m = XSLFileImporter.class.getDeclaredMethod("getRow",   
  5.             new Class[]{Sheet.class,String.class,int.class});  
  6.     m.setAccessible(true);  //设置方法的可访问性为true就可以了
  7.     Object row = m.invoke(importer, new Object[]{  
  8.         importer.getWorkBook().getSheet(0),  
  9.         Constants.TITLE,  
  10.         Constants.MUST  
  11.     });  
  12.     assertEquals(1, row);  
  13. };  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值