1

私は、他の 3 つのモジュールをテストする 1 つのテスト モジュールを含むマルチモジュール プロジェクトを持っています。ここで説明されているmaven antrun-pluginを使用したcoberturaインストルメンテーション、マージ、およびレポートを既にセットアップしています:mavenマルチモジュールプロジェクトのcoberturaですが、インストルメント化されたクラスで通常のクラスをオーバーライドしませんが、すべてのinstrumented-classesフォルダーに保存しますモジュール。統合テスト後のフェーズでは、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 に答える