Java でテストカバレッジを取る (JaCoCo編)
一種の指標になるので,なんだかんだでテストカバレッジは取りたくなります.
Javaでそれをどうやるかをサッと検索すると,Coberturaを使う方法とJaCoCoを使う方法が引っかかると思うんですが,Coberturaの方はJava8のコードが含まれているとJavaNCSSの兼ね合いで発狂して使えなくなったり,Mavenのtestライフサイクルにfindbugsやcheckstyleを含めると使えなくなったりと色々不便なので,JaCoCoを使う方法でやることになっていきます.
<plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.7.4.201502262128</version> <executions> <execution> <id>prepare-agent</id> <goals> <goal>prepare-agent</goal> </goals> </execution> </executions> </plugin>
という風に追記してやると良いってcoveralls-maven-pluginに説明されていましたのでそのようにやります.
そして
$ mvn clear test jacoco:report
などとしてやると,target/site/jacoco 以下にカバレッジレポートが出力されます.
コードレベルのカバーレポートも出て可愛い.
そしてこの結果をcoveralls-maven-pluginを使ってcoverallsに送りつける事も可能です.便利ですね.