命令行方式使用cobertura-----转

比较喜欢用command line方式,因为这样省去了用ant task方式写xml的麻烦。前几次在执行了cobertura-instrument.bat之后,根据网上说的把cobertura.jar和cobertura.ser拷到tomcat的bin目录下,启动tomcat就会报错,见下图:



    后来在同事的帮助下,网上也查了一下,说要把jar包放在lib目录下,于是把cobertura.jar拷到tomcat/common/lib目录下,见下图:



再次启动tomcat,成功~



    对于用command line方式来使用cobertura,现总结如下:

1.拷贝cobertura.jar到tomcat/common/lib目录下;

2.对于需要统计覆盖率的class文件进行instrument,命令行格式如下:

cobertura-instrument.bat [--basedir dir] [--datafile file] [--destination dir] [--ignore regex] classes [...]

 []内的参数可省略,我destination等参数都没用,直接对要进行instrument的class操作,我的命令行如下:

 

3.instrument成功后会在cobertura的目录下生成cobertura.ser文件,将此文件拷到tomcat/bin目录下,见下图:

 

4.启动tomcat。在命令提示符窗口,转到tomcat/bin目录,键入startup.bat并回车;

5.启动成功后,tomcat/bin目录下的cobertura.ser的文件时间会更新;

6.和平常一样测试,测试结束后,关闭tomcat。在命令提示符窗口键入shutdown.bat并回车,然后Ctrl+C来关闭tomcat窗口,这样cobertura.ser才会更新,见下图:


一般每次测试并关闭tomcat后,cobertura.ser都是在原来的基础上更新,所以一般不用merge命令:)
7.生成report,命令行格式如下:

cobertura-report.bat [--datafile file] [--destination dir] [--format (html|xml)] [--encoding encoding] source code directory [...] [--basedir dir file underneath basedir ...]

默认是html格式,会生成好多html文件,见下图:


    上图中没有指明source code directory,在查看report时,会显示没有和源代码关联,因此需指定源代码所在的目录,如下图:

 


8.打开index.html文件,查看覆盖率,如下图:

posted @ 2012-12-14 16:48  爱我所艾  阅读(1453)  评论(0编辑  收藏  举报