0

マルチモジュールプロジェクトでMaven3を使用しており、次のレポートプラグインを使用してサイトを構成しています。1。findbugs 2.cobertura3.テスト用のsurefireレポート

<plugin>
            <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-site-plugin</artifactId>
              <version>${maven.site.version}</version>
              <configuration>
                <reportPlugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>findbugs-maven-plugin</artifactId>
                    </plugin>
                    <plugin>
                      <groupId>org.codehaus.mojo</groupId>
                      <artifactId>cobertura-maven-plugin</artifactId>
                    </plugin>
                     <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-report-plugin</artifactId>
                    </plugin>
                </reportPlugins>
              </configuration>
        </plugin>

私が使用する場合:

mvnクリーンインストール後のmvnsite-DskipTests = true

mvnサイトの後で適切なレポートを取得できません。Cobertura関連のテストカバレッジレポートには、正しいデータ、つまりすべてのパッケージが0%のテストカバレッジとして表示されません。coberturaは、カバレッジを決定するためにテスト自体を実行したいと考えているようです。

しかし、私が走るとき

mvnサイト

これにより、coberturaレポートとsurefireレポートに対して、すべてのテストが1回ずつ2回実行されます。

テストを1回だけ実行して、必要なレポートを生成したい。上記のMavenのreportPluginsを使用してこれを実現する正しい方法を教えてください。

4

1 に答える 1

1

Coberturaとsurefireレポート(サイト生成用)は2つの異なることを行います。したがって、テストを2回実行することを避けることはできません。1回はcobertura用、もう1回はサイト用です。

あなたが見ることができるのは、Mavenのデフォルトのライフサイクルを使い果たしたcoberturaを移動し、必要に応じて個別に実行することです。このように、mvn siteサイト生成のためにのみ確実に実行されます。

于 2011-12-13T12:46:40.373 に答える