本記事は、jacocoの導入関連の記事や公式ドキュメントを読んでも、導入がうまくいかなかった人に向け解決策の1つの可能性を示すものである。
みんながうまくいくかは知らない。
なぜなら筆者自身Mavenとかよくわかってないからだ。
前提
javaのバージョン
java version "1.8.0_74"
Java(TM) SE Runtime Environment (build 1.8.0_74-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode)
mavenのバージョン
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T01:41:47+09:00)
Maven home: /usr/local/apache-maven-3.3.9
Java version: 1.8.0_74, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre
Default locale: ja_JP, platform encoding: UTF-8
OS name: "mac os x", version: "10.10.3", arch: "x86_64", family: "mac"
CIサーバ上でも同様だったのでOSは関係ないだろう。
関連技術
-
jacoco
- コードカバレッジを計測してくれるライブラリ
- maven用のプラグインも提供している
- 本記事ではこのmaven pluginを使う
jacocoの導入
jacocoのusageを読もう。
サンプルのpom.xmlもある。
Qiitaにいろんな記事があるので、タグから探るのもいいでしょう。
コレでうまく行った人はすみやかにこの記事を閉じましょう。
ちなみに自分は以下の様なエラーから無限に抜け出せなかった。
$ mvn jacoco:report
[ERROR] No plugin found for prefix 'jacoco' in the current project and in the plugin groups
ちょくせつmvnのコマンドライン引数でゴールを指定する
最終的にgithubでコード検索したところ。かなりのリポジトリでpom.xmlに書いてないということがわかった。
何の事はないしかるべきタイミングでorg.jacoco:jacoco-maven-plugin
というprefixをつかって指定すればいいのだ。
つまりこんな感じ
mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent test
mvn org.jacoco:jacoco-maven-plugin:report
まとめ
素直にやってダメなら、org.jacoco:jacoco-maven-plugin
をコマンドライン引数で指定する。