Cobertura 是一种开源工具,它通过检测基本的代码,并观察在测试包运行时执行了哪些代码和没有执行哪些代码,来测量测试覆盖率。除了找出未测试到的代码并发现 bug 外,Cobertura 还可以通过标记无用的、执行不到的代码来优化代码,还可以提供 API 实际操作的内部信息。
<project>
...
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.5.1</version>
</plugin>
</plugins>
</reporting>
...
</project>
另外一种做法:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<instrumentation>
<!-- charles: excludes the package name which contains "interfaces","constants","exceptions" -->
<!-- so now ,the ut test coverage should be much better -->
<excludes>
<exclude>/simweb/src/test/java/com/sim/web/test/*Test.class</exclude>
</excludes>
</instrumentation>
</configuration>
</plugin>
首先运行“mvn cobertura:help”, 如果不能运行,请添加以下仓库
<project>
...
<pluginRepositories>
<pluginRepository>
<id>Codehaus repository</id>
<url>http://repository.codehaus.org/</url>
</pluginRepository>
</pluginRepositories>
...
</project>
cobertura插件的命令:
- mvn cobertura:help 查看cobertura插件的帮助
- mvn cobertura:clean 清空cobertura插件运行结果
- mvn cobertura:check 运行cobertura的检查任务
- mvn cobertura:cobertura 运行cobertura的检查任务并生成报表,报表生成在target/site/cobertura目录下
- cobertura:dump-datafile Cobertura Datafile Dump Mojo
- mvn cobertura:instrument Instrument the compiled classes