首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室软件测试频道
Google
首页 资讯动态 测试技术 测试工具 行业软件测试 测试管理 测试下载 经验分享 软件质量 其他技术 RSS订阅 博客 论坛
您现在的位置: 中国IT实验室 >> 软件测试 >> 测试技术 >> 单元测试 >> 正文

使用ant进行junit测试

一.关于Junit
  关于为什么junit.jar包不能放到lib/ext目录中:

先谈谈类装载器

  java虚拟机和程序都调用ClassLoader类的loadClass的方法来加载。java虚拟机中可有多个类加载器,bootstrap来加载rt.jar(java核心包),ExtClassLoader加载<JAVA_HOME>/jre/lib/ext装载jar包,AppClassLoader加载classpath环境变量指定的路径中的类。ExtClassLoader是AppClassLoader的父类。
 
  再说junit.jar为什么不能放到lib/ext目录下的原因:现在如果把junit.jar包放到ext目录下,ExtClassLoader类装载器要把junit.jar先装载,junit然后要去调用那个被测试类,然而那个被测试类是放在classpath中,被AppClassLoader装载,因为ExtClassLoader是AppClassLoader的父类,AppClassLoader已经装载了被测试类,ExtClassLoader并不知道APP已经装载了这个类,它还要去装载被测试类,结果找不到这个类。就会抛出异常了。但是如果把被测试类也打包为jar包放到ext目录底下应该就没问题了,但这样做单元测试的时候是不是比较麻烦?
 
  Junit作为一个单元测试工具,在保证代码的质量上,起到比较重要的作用。我们使用的为Junit3.8.1版本,用的时候需要把junit.jar添加到项目编译和运行的classpath中,在最简单的Junit方式中,我们将所有的测试放到TestCase的子类中, 每个测试必须是public,不接受任何参数,返回void,并且以一个"test\"开头的方法名(最佳实践,Junit鼓励你这么做)。传统情况下,setUp()方法创建一个对象的通用集合并将其初始化,这些对象在所有的测试中都将被用到。setUp()与构造方法的区别就是:setUp()在每次测试前被调用。测试完之后,再调用tearDown()方法(可选)在每次测试后执行清除工作。
 
  使用Junit的好处:1、对于xp编程而言,要求在编写代码之前先写测试,这样可以强制你在写代码之前好好的思考代码(方法)的功能和逻辑,否则编写的代码很不稳定,那么你需要同时维护测试代码和实际代码,这个工作量就会大大增加。因此在xp编程中,基本过程是这样的:构思-》编写测试代码-》编写代码-》测试,而且编写测试和编写代码都是增量式的,写一点测一点,在编写以后的代码中如果发现问题可以较块的追踪到问题的原因,减小回归错误的纠错难度2、对于重构而言,其好处和xp编程中是类似的,因为重构也是要求改一点测一点,减少回归错误造成的时间消耗。
 
  3、对于非以上两种情况,我们在开发的时候使用junit写一些适当的测试也是有必要的,因为一般我们也是需要编写测试的代码的,可能原来不是使用的junit,如果使用  junit,而且针对接口(方法)编写测试代码会减少以后的维护工作,例如以后对方法内部的修改(这个就是相当于重构的工作了)。另外就是因为junit有断言功能,如果测试结果不通过会告诉我们那个测试不通过,为什么,而如果是想以前的一般做法是写一些测试代码看其输出结果,然后再由自己来判断结果使用正确,使用junit的好处就是这个结果是否正确的判断是它来完成的,我们只需要看看它告诉我们结果是否正确就可以了,在一般情况下会大大提高效率。
 
 

[1] [2] 下一页

【责编:Luzi】

中国IT教育

相关产品和培训
文章评论
 专题推荐

 ·防范Linux病毒 打造没有病毒的乐土…
 ·巧用网络流量 打造健康内网…
 ·带你领略windows系统“另类”安装
 ·无线路由器设置从入门到精通
 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·企业网管如何部署你的网络监控系统?
 ·2008年软考官方指定教材及辅导书下载专题
 ·负载均衡技术方案攻略
 ·中国IT实验室2007年技术热点盘点
 最近更新
 博客论点
 频道精选
 软件测试频道导航