我有一个多模块项目,其中一个测试模块可以测试另外三个。我已经设置了cobertura检测,合并和报告这里描述的maven antrun-plugin:cobertura on maven multi module project但是我没有使用检测的类覆盖普通类,而是将它们存储在每个模块的instrumented-classes文件夹中。在集成后测试阶段,我合并了cobertura.ser文件,并在最后执行的测试模块的pom.xml中生成一个报告。
如何配置tycho-surefire以使用已检测的类而不是正常类?否则我总是得到0%的覆盖率......
我没有找到一个简单的解决方案,cobertura:聚合目标不起作用
答案 0 :(得分:1)
我使用了Jacoco,这对我有用。
<!-- This profile is used to gather code coverage with Jacoco -->
<profile>
<id>codeCoverage</id>
<properties>
<!-- Properties to enable jacoco code coverage analysis -->
<sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
<sonar.jacoco.reportPath>/path/to/jacoco.exec</sonar.jacoco.reportPath>
</properties>
<build>
<plugins>
<!-- Enabling use of jacoco -->
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco-plugin-version}</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<!-- Where to put jacoco coverage report -->
<destFile>${sonar.jacoco.reportPath}</destFile>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>