Mavenプロジェクトのコードカバレッジ(コードカバレッジ)

Mavenを使用するJavaプロジェクトの構造は、多数の単体テストを意味します。

しかし、テストだけでは十分ではありません。テストがコードをカバーする限り、より完全な情報が必要です。



これらの目的のために、私はEmma( off site )を使用する多くのライブラリがあります。





Pom.xmlの構成





まず、コンパイルフェーズ(プロセスクラスフェーズ)の後に、クラスにEmmaインスツルメンテーションを追加します

 <プラグイン>
     <groupId> org.sonatype.maven.plugin </ groupId>
     <artifactId> emma-maven-plugin </ artifactId>
     <バージョン> 1.2 </バージョン>
     <構成>
         <フィルター>
             <filter> + org。* </ filter>
             <filter> -org.some.package。* </ filter>
         </ filters>
     </構成>
     <実行>
         <実行>
             <phase>プロセスクラス</ phase>
             <目標>
                 <goal>楽器</ goal>
             </ goals>
         </実行>
     </ executions>
 </ plugin>


例からわかるように、emma-maven-pluginはフィルタリングをサポートしています。 プラグインオプションの詳細



デフォルトでは、インストルメント済みクラスは$ {project.build.directory} / generated-classes / emma / classesディレクトリに作成されます。



このディレクトリは、maven-surefire-pluginのclassesDirectoryとして注意する必要があります。

 <プラグイン>
     <groupId> org.apache.maven.plugins </ groupId>
     <artifactId> maven-surefire-plugin </ artifactId>
     <構成>
         <classesDirectory> $ {project.build.directory} / generated-classes / emma / classes </ classesDirectory>
     </構成>
 </ plugin>




最後に、テスト段階でレポートを追加しましょう。

 <プラグイン>
     <groupId> org.sonatype.maven.plugin </ groupId>
     <artifactId> emma4it-maven-plugin </ artifactId>
     <バージョン> 1.3 </バージョン>
     <実行>
         <実行>
             <id>レポート</ id>
             <phase>テスト</ phase>
             <目標>
                 <goal>レポート</ goal>
             </ goals>
             <構成>
                 <sourceSets>
                     <sourceSet>
                         <ディレクトリ> $ {project.build.sourceDirectory} </ディレクトリ>
                     </ sourceSet>
                 </ sourceSets>
             </構成>
         </実行>
     </ executions>
 </ plugin>


その結果、HTML、TXT、およびXMLレポートを含むターゲット/サイト/ emmaディレクトリを取得します。



ハドソン





Emmaプラグイン(http://wiki.hudson-ci.org//display/HUDSON/Emma+Plugin)をインストールし、プロジェクト構成で[Emmaカバレッジレポートの記録]チェックボックスをオンにします。



このプラグインは、emma4itプラグインによって作成されたcoverage.xmlを使用します。



その結果、グラフ、カバレッジ率の表などがあります。



スケジュールの例(悪い):








All Articles