与Maven和Tycho-surefire一起在xtext-project上运行Cobertura

时间:2014-03-20 17:57:56

标签: maven xtext cobertura multi-module tycho-surefire-plugin

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

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

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

1 个答案:

答案 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>