1

我有一个多模块项目,其中一个测试模块可以测试其他三个模块。我已经设置了 cobertura 仪器,使用此处描述的 maven antrun-plugin 进行合并和报告:cobertura on maven multi module project但我没有使用仪器类覆盖普通类,而是将它们存储在每个仪器的仪器类文件夹中模块。在集成测试后阶段,我合并 cobertura.ser 文件并在最后执行的测试模块的 pom.xml 中生成报告。

如何配置 tycho-surefire 以使用检测类而不是普通类?否则我总是得到 0% 的覆盖率......

我没有找到一个简单的解决方案,cobertura:aggregate 目标不起作用

4

1 回答 1

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>
于 2014-05-20T19:36:46.627 回答