cobertura覆盖率
在姜黄项目中,我们每晚维护一个仪表板。 在仪表板上,我们收集有关项目的统计信息,包括代码覆盖率,findbugs分析和其他指标。 我们一直在使用Maven EMMA插件来提供代码覆盖,但是遇到了EMMA问题。 在对类进行检测后,这会导致测试失败。 因此,由于我们在构建过程中需要准确的测试结果,因此我们禁用了代码覆盖率。 但是,我们仍然需要覆盖代码,更重要的是,我们还需要覆盖现有测试套件,这实际上是一个集成测试套件,而不是单元测试套件。
Cobertura和EMMA插件实际上都是设计用于单元测试的。 因此,我们必须解决该限制。
- 首先,我们需要对类进行检测。
- 其次,我们需要打包检测的类,并在以后的构建中使用它们。
- 需要告诉集成测试为其使用依赖的检测类。
- 生成结果的XML报告。
我尝试了这样做,但又没有退缩到ant,但是每次我尝试使用maven-site-plugin并将其配置为生成报告时,都会抱怨cobertura:check配置不正确。 在我们的情况下,我不需要运行检查,只需要生成的报告即可。 于是Ant和AntContrib得以营救。 以下是我想出的完整的Maven个人资料:
<profile>
<id>cobertura</id>
<dependencies>
<dependency>
<groupId>net.sourceforge.cobertura</groupId>
<artifactId>cobertura</artifactId>
<optional>true</optional>
<version>1.9.4.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.codehau