ここ数日間、Maven 3.0.2でCobertura 2.4を実行しようとして失敗しました。多くのモジュール(サブプロジェクト)を持つ非常に大きなプロジェクトがあります。私が見つけたのは、ドキュメントは基本的に存在しないか、明らかに間違っているということです。私が見つけたすべてのチュートリアルはMaven 3.xでは動作しません(ビルドはできますが、Coberturaが実行されないか、レポートを生成できません)。
ここで誰かがそれを機能させることができましたか?役立つヒント/例はありますか?ありがとう。
これを追加することで、プロジェクトにCoberturaを正常に統合しました。
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.4</version>
<configuration>
<instrumentation>
<includes>
<include>foo/bar/**/*.class</include>
</includes>
</instrumentation>
</configuration>
<executions>
<execution>
<id>clean</id>
<phase>pre-site</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
<execution>
<id>instrument</id>
<phase>site</phase>
<goals>
<goal>instrument</goal>
<goal>cobertura</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<!-- use mvn cobertura:cobertura to generate cobertura reports -->
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.4</version>
<configuration>
<formats>
<format>html</format>
<format>xml</format>
</formats>
</configuration>
</plugin>
</plugins>
</reporting>
mvn cobertura:cobertura
を実行すると、レポートはtarget\site\cobertura
で生成されます。 maven cobertura plugin も参照してください。
今日、私は SonarQube でプロジェクトを分析します。簡単な インストール ステップ(エンタープライズデータベースの使用に関心がない場合)があり、他の多くのメトリックの中でコードカバレッジ分析( JaCoCo を使用)も含まれています。
Maven 3.0.3(まだ質問していない)では、次のように、Mavenのサイトプラグインを使用して、coberturaを使用するように構成します。
<build>
<plugins>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.0</version>
<configuration>
<reportPlugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<formats>
<format>html</format>
<format>xml</format>
</formats>
</configuration>
</plugin>
</reportPlugins>
</configuration>
</plugin>
....
Webアプリケーションの<reporting>
セクションにCoberturaプラグインを統合することもできます。
<reporting>
<outputDirectory>${project.build.directory}/site</outputDirectory>
<plugins>
<!-- Maven Project Info Reports Plugin -->
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.7</version>
<configuration>
<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
</configuration>
</plugin>
<!-- Cobertura Code Coverage Plugin -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.6</version>
<configuration>
<instrumentation>
<ignoreTrivial>true</ignoreTrivial>
</instrumentation>
<formats>
<format>html</format>
<format>xml</format>
</formats>
</configuration>
</plugin>
</plugins>
</reporting>
mvn site
を実行すると、アプリケーションのターゲットディレクトリ内のtarget/site/cobertura/index.html
でレポートを利用できるようになります。