Developer(s) | Leonid Arbouzov, Alexander Petrov, Vladimir Generalov, Serguei Chukhontsev, Oleg Uliankin, Gregory Steuck, Pavel Ozhdikhin, Konstantin Bobrovsky, Robert Field, Alexander Kuzmin, Leonid Mesnik, Sergey Borodin, Andrey Titov, Dmitry Fazunenko, Alexey Fedorchenko |
---|---|
Stable release |
3.0 / September 1, 2014
|
Type | Code coverage |
License | GPL v2 (with the Classpath Exception) |
Website |
Developer(s) | Marc Hoffmann, Brock Janiczak, Evgeny Mandrikov, Mirko Friedenhagen |
---|---|
Preview release |
0.7.9 / February 5, 2017
|
Type | Code coverage |
License | EPL |
Website | jacoco |
Developer(s) | Atlassian |
---|---|
Stable release |
4.1.2 / October 11, 2016
|
Type | Code coverage |
License | Apache 2.0 |
Website | atlassian |
Developer(s) | Marek Parfianowicz, Grzegorz Lewandowski |
---|---|
Stable release |
4.2.1 / November 22, 2017
|
Type | Code coverage |
License | Apache License 2.0 |
Website | openclover |
Developer(s) | Steven Christou |
---|---|
Stable release |
2.1.1 / February 26, 2015
|
Repository | github |
Type | Code coverage |
License | GPL 2.0 |
Website | cobertura |
Developer(s) | Vlad Roubtsov |
---|---|
Stable release |
2.1 / May 13, 2005
|
Repository | sourceforge |
Type | Code coverage |
License | Common Public License 1.0 |
Website | emma |
Developer(s) | Michael Couck |
---|---|
Stable release |
1.0 / December 8, 2013
|
Type | Code coverage |
License | Apache Software License version 2.0 |
Website |
Developer(s) | Verifysoft Technology |
---|---|
Stable release |
8.0. / June 30, 2016
|
Type | Code coverage |
License | Proprietary |
Website | verifysoft |
Java code coverage tools are of two types: first, tools that add statements to the Java source code and require its recompilation. Second, tools that instrument the bytecode, either before or during execution. The goal is to find out which parts of the code are tested by registering the lines of code executed when running a test.
JCov is the tool which has been developed and used with Sun JDK (and later Oracle JDK) from the very beginning of Java: from the version 1.1. JCov is capable of measuring and reporting Java code coverage. JCov is distributed under the terms of the GNU Public License (version 2, with the Classpath Exception). JCov has become open-source as a part of OpenJDK code tools project in 2014.
JCov is capable of reporting the following types of code coverage:
JCov implements two different ways to save the collected data:
JCov works by instrumenting Java bytecode using two different approaches:
JCov has a few more distinctive features which include, but are not limited to:
JaCoCo is an open-source toolkit for measuring and reporting Java code coverage. JaCoCo is distributed under the terms of the Eclipse Public License. It was developed as a replacement for EMMA under the umbrella of the EclEmma plug-in for Eclipse.
JaCoCo offers instructions, line and branch coverage.
In contrast to Clover, which requires instrumenting the source code, JaCoCo can instrument Java bytecode using two different approaches:
And can be configured to store the collected data in a file, or send it via TCP. Files from multiple runs or code parts can be merged easily. Unlike Cobertura and Emma it fully supports Java 7, Java 8 and Java 9.
Clover is a Java code coverage analysis utility bought and further developed by Atlassian. In April 2017 Atlassian announced end-of-life of Clover and at the same time open-sourced it under Apache 2.0 license.