LoginSignup
10
16

More than 5 years have passed since last update.

Javaカバレッジ計測ライブラリ

Last updated at Posted at 2018-04-15

Javaのテストカバレッジを計測できるオープンソースライブラリの現状を調査してみました。

要約

Coberturaは開発が停止しているため、今後はJaCoCoもしくはCloverが主流となりそう。ただしCloverは最近オープンソース化されたため、今後の継続開発(=コミュニティの活発度)はあまり見えていない。

主要な3ライブラリの概要

JaCoCo

  • 最新版は2018年1月リリースのバージョン0.8.0(2018年3月時点)。
  • 実行時に計測(on-the-fly instrumentation)できないクラスに対して、クラスファイルに計測処理を事前に追加する(offline instrumentation)ことができる。

Cobertura

  • 開発は2015年2月で止まっている。
  • Java 8に未対応でLambda式などの記法があるとその部分の計測ができない。
  • 他のライブラリでは対応していない複数のモジュールから構成されるプロジェクトに対する計測レポートの集約に対応している。

Clover

  • 元々は商用ソフトであったが2017年4月にオープンソース化された。
  • 他のライブラリと異なり、クラスファイルではなくソースコードに対して計測コードを追加してカバレッジを計測する。
  • 複雑度(cyclomatic complexity)だけではなく20以上のメトリクスに対応する。

その他のライブラリなど

EclEmma

  • JaCoCoでのカバレッジ計測をEclipse上で行うためのEclipseプラグイン。
  • かつてはカバレッジ計測ライブラリにEMMAを利用していたが、EMMAの開発が2005年に止まったため、独自にカバレッジ計測ライブラリJaCoCoを開発して、こちらに移行した。

JMockit

参考

10
16
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
16