日々常々

ふつうのプログラマがあたりまえにしたいこと。

Gradleでカバレッジをとる(cobertura)

バージョン - Gradle: 1.3, Java:1.7.0_07

Plugin あり〼

みっつも……とりあえず2番目にしとくよ。
理由は Plugins - Gradle - Gradle Wiki の一番上に乗ってるから。


設定はとてもとても簡単。build.gradle に以下の3行を貼るだけ。

buildscript {
    apply from: 'https://github.com/valkolovos/gradle_cobertura/raw/master/repo/gradle_cobertura/gradle_cobertura/1.2.1/coberturainit.gradle'
}

1.2.1 は Gradle1.1 用のようだけど、 1.3 でも特に問題無し。実行は gradle cobertura とか叩けばOK……なんだけど、ちょっと詰まる。

java.lang.VerifyError とか……


テストほぼ全部落ちよる(´・ω・`)……とても悲しい。


Java5で導入され、Java7でデフォルトonになったチェックに引っかかってるらしい。仕方ないので外します。build.gradle の適当な場所に書いておく。

test.jvmArgs '-XX:-UseSplitVerifier'

これでテストも通り、レポートも出てくれる。

簡単。とても嬉しい。
ちなみにレポートはいつもの場所( build/reports ) に cobertura/index.html が出来てたりするから、それです。


カバレッジは扱いの面倒な数字の一つ*1だけど、だからと言って使わないのはそれはそれで愚かですよね。なので手軽に使えるようにしておきましょう。

*1:と言うか数字は全て扱いが面倒ですね