2015年6月25日木曜日

Maven で Cobertura を使ってみた

概要

Maven でテストコードのカバレッジを表示することができる Cobertura を使ってみました

環境

  • Mac OS X 10.10.3
  • Eclipse Luna 4.4
  • Java 1.8.0_31
  • Maven 3.2.1

pom.xml に定義する

以下を定義します
<build>-><plugins>配下に記載します

<!-- cobertura -->
<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>cobertura-maven-plugin</artifactId>
  <version>2.7</version>
  <configuration>
    <formats>
      <format>html</format>
      <format>xml</format>
    </formats>
    <instrumentation>
      <excludes>
        <exclude>**/*Test.class</exclude>
      </excludes>
    </instrumentation>
    <executions>
      <execution>
        <phase>test</phase>
        <goals>
          <goal>check</goal>
        </goals>
      </execution>
    </executions>
  </configuration>
</plugin>

記載したら実行しましょう
コマンドはmvn cobertura:coberturaです
成功するとtarget/cobertura/index.htmlが作成されるのでこれを開くとカバレッジ率を見ることができます

JavaはJREではなくJDKが必要になるので注意してください

最後に

mvn packageのライフサイクルに入れるにはどうすればいいのだろうか

2 件のコメント:

  1. こんにちは。
    Maven で Cobertura を使ってみた、とのことですが
    測定は特に問題なくできていますか?
    CoberturaはJDK 1.7とか1.8には未対応みたいな情報がよくでてくるので
    Jacocoを使っていますが、実際のところどうなんでしょう。

    返信削除
  2. すみません、一つだけ確認させてください!!
    ラムダ式を記述した部分は、JavaNCSSによる警告やエラーはでますか?

    具体的には例えば
    list.stream().filter(x -> x == "a")
    みたいな時の「>」の部分です。

    状況的にはこれと同じです。
    https://github.com/dkpro/dkpro-parent-pom/issues/6

    返信削除