Maven Coberturaコードカバレッジの例

Maven + Coberturaコードカバレッジの例

cobertura-code-coverage-report-1

Coberturaは無料のJavaコードカバレッジツールであり、単体テストによってアクセスされたコードの割合を計算します。 このチュートリアルでは、Mavenを使用してプロジェクトのCoberturaコードカバレッジレポートを生成する方法を示します。

1. Coberturaコードカバレッジレポート

何もしないでください。次のMavenコマンドを入力するだけで、maven-cobertura-pluginを自動的にダウンロードして実行できます。

c:\project> mvn cobertura:cobertura

//...
Results :

Tests run: 16, Failures: 0, Errors: 0, Skipped: 0

[INFO]
[INFO] <<< cobertura-maven-plugin:2.6:cobertura (default-cli) @ TestNG <<<
[INFO]
[INFO] --- cobertura-maven-plugin:2.6:cobertura (default-cli) @ TestNG ---
[INFO] Cobertura 2.0.3 - GNU GPL License (NO WARRANTY) - See COPYRIGHT file
Report time: 82ms

//Mkyong : Not sure what caused this error, but Cobertura still works well.
[ERROR] net.sourceforge.cobertura.coveragedata.CoverageDataFileHandler
loadCoverageData

INFO: Cobertura: Loaded information on 5 classes.

[INFO] Cobertura Report generation was successful.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.309s
[INFO] Finished at: Mon Jan 13 21:45:56 SGT 2014
[INFO] Final Memory: 25M/307M
[INFO] ------------------------------------------------------------------------

Mavenは、${project}/target/site/cobertura/index.htmlでCoberturaコードカバレッジレポートを生成します。

More Examples
その他の例については、このCobertura Maven Pluginを参照してください。

図:Coberturaコードカバレッジレポートのサンプル、インデックスページ、JavaDocのように見えます。

cobertura-code-coverage-report

図:詳細ページ。

cobertura-code-coverage-report-1

2. Mavenサイト+ Coberturaレポート

CoberturaレポートをMavenサイトに統合するには、レポートセクションに以下を追加します。

pom.xml

//...

  
    
    
        org.apache.maven.plugins
        maven-project-info-reports-plugin
        2.7
        
            false
        
    

    // integrate maven-cobertura-plugin to project site
    
        org.codehaus.mojo
        cobertura-maven-plugin
        2.6
        
            
                html
                xml
            
        
    

   

Mavenプロジェクトサイトの作成

mvn site

出力-${project}/site/index.html

maven-cobertura