Emma Cobertura and OC4J

上一篇 / 下一篇  2010-09-07 15:46:14 / 个人分类:java

几种代码覆盖率工具在和web应用集成的时候都有些问题。Cobertura 和emma都是在程序退出时更新覆盖率数据文件的。但是由于某些原因数据文件没有能得到更新。经过一番研究发现都有弥补的办法。

Cobertura:

3.     应用服务器以oc4j为例,其他类似。将 Cobertura.jar 文件复制到应用服务器workspace公共lib,  对于oc4j,来说就是 applib.

4.    解开下载来的cobertura包里有一个文件: flushCobertura.war,将其部署到oc4j.

fa    访问地址 http://localhost:8888/coberturaFlush/flushCobertura

旧可以强制将数据导出到cobertura.ser文件。位置默认在home目录。要记得事先将原始文件放在此目录下,不然得到的覆盖率都是100%

6.    

    Emma:

    最新版本的emma有ctl工具,可以在应用服务运行时强制导出覆盖率数据,用法为:

C:\tools\emma>java -cp emma.jar emma ctl -connect localhost:47653 -command coverage.get,coverage.ec

用命令行生成报告时数据文件之间的逗号前后千万不能加空格,否则就会报数据找不到。

另外运行ctl命令时要是总是有RPC连接错误说明处理过的类没有就载入虚拟机,需要在浏览器打开该应用,保证至少有一个java类(通常首先执行的是servlet类)执行。


TAG: emma

 

评分:0

我来说两句

Open Toolbar