开源单元测试工具JCoverage使用详解

发表于:2009-03-31来源:作者:点击数: 标签:工具开源单元JCoverage详解
XP编程这么多时间以来深受大家的喜爱,代码 测试 覆盖率作为XP不可缺少的一个部分深受管理者的喜爱,在目前市场上有很多的这方面的工具,最经典的为cover,但其不是免费的(对商业不是免费,对open source是免费的),今天我将推荐 JCoverage ,这是一个很不错的工具,

XP编程这么多时间以来深受大家的喜爱,代码测试覆盖率作为XP不可缺少的一个部分深受管理者的喜爱,在目前市场上有很多的这方面的工具,最经典的为cover,但其不是免费的(对商业不是免费,对open source是免费的),今天我将推荐JCoverage,这是一个很不错的工具,虽然不是OpenSource的,但对于个人其有free版的.

主页:http://www.jcoverage.com/

 

 

JCoverage的允许需要JUnit和Log4j,等类库,你可以在其文档中看到详细说明,同时JCoverage可以和Ant结合在一起使用,

注意事项:

1 : 初始化是最好删除当前目录下的jcoverage.ser文件,这个文件就是测试的结果,如果其在当前目录下找到这个文件将不会进行测试,或者重新测试

2 : 在进行instrument时,一定要保证其class是debug模式下编译的,否则将不能注入jcoverage指令,建议从新用debug模式编译一个在当前目录[iocblog.net 来源]

3 : 在进行junit是,一定要保证测试的是加入jcoverage指令的类,否则不能生成jcoverage.ser文件,当然也就不能够测试覆盖率了,我在这个弄了很久,主要是classpath的问题,这个时候你要保证其的classpath中包含加入jcoverage指令的class并不简单,如果你使用工程级别的classpath,那你就痛苦吧,我就是这样痛苦的很,你最好使用一个新的classpath,即除了工程必须的就是加入jcoverage指令的class了,这也就是我下面的例子为什么那么烦琐的原因;这个看似简单的问题会把你的信心给扫的全无.因为如果你经常使用ant的话,那么在你的classpath中有很多个一样的class,如工程自己一个,为了加入jcoverage指令而以debug模式编译的一份,加入jcoverage指令的一份,那么现在至少有三份了,罗嗦了这么多就是不希望大家走弯路.

4 : 最后生成报告,你可以选择html和xml格式,但free版只有html格式,这里有一个不是很完美的地方,如果你的资源代码是UTF-8编码的,那么生成的报告中代码注释将有一部分乱码,

 

附录中有两部分内容:

附录1:是我个人的ant脚本 ,这段脚步是我个人的环境,你如果需要使用请修改之 ,
附录2:JCoverage的报告截图 ,次报告为Html的格式,当然你也可以设置为其它格式

 

原文转自:http://www.ltesting.net