I investigated the current state of open source libraries that can measure Java test coverage.
Cobertura has stopped development, so from now on JaCoCo or Clover is likely to become the mainstream. However, since Clover has recently been open sourced, future continuous development (= community activity) is not very visible.
--The latest version is version 0.8.0 released in January 2018 (as of March 2018). --For classes that cannot be measured (on-the-fly instrumentation) at runtime, measurement processing can be added in advance (offline instrumentation) to the class file.
--Development stopped in February 2015. --If Java 8 is not supported and there is a notation such as Lambda expression, that part cannot be measured. --Supports aggregation of measurement reports for projects consisting of multiple modules that are not supported by other libraries.
--Originally it was commercial software, but it was made open source in April 2017. --Unlike other libraries, coverage is measured by adding measurement code to the source code instead of class files. --Supports not only cyclomatic complexity but also 20+ metrics.
--Eclipse plug-in for performing coverage measurement with JaCoCo on Eclipse. --In the past, EMMA was used for the coverage measurement library, but since the development of EMMA stopped in 2005, we developed our own coverage measurement library JaCoCo. Moved here.
Recommended Posts