Content deleted Content added
this is not about websites and tools which report and collect code coverage statistics, but tools which actualle produce them. remove jtest, sonarqube |
introduce a section for notable tools which are not maintainted any more |
||
Line 128:
{{Clear}}
== EMMA ==▼
{{Infobox software▼
| name = EMMA▼
| developer = Vlad Roubtsov▼
| latest release version = 2.1▼
| latest release date = {{Release date and age|2005|05|13}}▼
| genre = [[Code coverage]]▼
| license = Common Public License 1.0▼
| repo = {{URL|https://sourceforge.net/projects/emma/}}▼
| website = {{URL|emma.sourceforge.net}}▼
}}▼
'''EMMA''' is an [[open-source software|open-source]] toolkit for measuring and reporting [[Java (programming language)|Java]] [[code coverage]]. EMMA is distributed under the terms of [[Common Public License]] v1.0.▼
EMMA is not currently under active development; the last stable release took place in mid-2005. As replacement, JaCoCo was developed.<ref>[http://sourceforge.net/projects/emma/files/ EMMA code coverage files on SourceForge.net]</ref>▼
EMMA works by wrapping each line of code and each condition with a flag, which is set when that line is executed.<ref>[https://books.google.com/books?id=L7d0LNpSrRwC&pg=PA289&dq=EMMA+%28code+coverage+tool%29&hl=en&ei=_pXATYmrJqrv0gHoroirBQ&sa=X&oi=book_result&ct=result&resnum=8&ved=0CG0Q6AEwBw#v=onepage&q&f=false Expert Spring MVC and Web Flow; By Seth Ladd, Darren Davison, Steven Devijver, Colin Yates, p. 289]</ref>▼
=== Features ===▼
* instrument classes for coverage either offline (before they are loaded) or on the fly (using an instrumenting application classloader).▼
* Supported coverage types: class, method, line, basic block. EMMA can detect when a single source code line is covered only partially.▼
* Coverage stats are aggregated at method, class, package, and "all classes" levels.▼
* Output report types: plain text, HTML, XML. All report types support drill-down, to a user-controlled detail depth. The HTML report supports source code linking.▼
* Output reports can highlight items with coverage levels below user-provided thresholds.▼
* Coverage data obtained in different instrumentation or test runs can be merged.▼
* it is possible to dump or reset coverage data remotely and without a JVM exit.▼
* does not require access to the source code and degrades gracefully with decreasing amount of debug information available in the input classes.▼
* can instrument individual .class files or entire .jars (in place, if desired). Efficient coverage subset filtering is possible, too.▼
* Makefile and ANT build integration are supported on equal footing.▼
* The runtime overhead of added instrumentation is small (5–20%) and the bytecode instrumentor itself is very fast (mostly limited by file I/O speed). Memory overhead is a few hundred bytes per Java class.▼
* EMMA is 100% pure Java, has no external library dependencies, and works in any Java 2 JVM (even 1.2.x).▼
== Serenity ==
Line 218 ⟶ 189:
{{Clear}}
= Notable historic tools =
▲== EMMA ==
▲{{Infobox software
▲| name = EMMA
▲| developer = Vlad Roubtsov
▲| latest release version = 2.1
▲| latest release date = {{Release date and age|2005|05|13}}
▲| genre = [[Code coverage]]
▲| license = Common Public License 1.0
▲| repo = {{URL|https://sourceforge.net/projects/emma/}}
▲| website = {{URL|emma.sourceforge.net}}
▲}}
▲'''EMMA''' is an [[open-source software|open-source]] toolkit for measuring and reporting [[Java (programming language)|Java]] [[code coverage]]. EMMA is distributed under the terms of [[Common Public License]] v1.0.
▲EMMA is not currently under active development; the last stable release took place in mid-2005. As replacement, JaCoCo was developed.<ref>[http://sourceforge.net/projects/emma/files/ EMMA code coverage files on SourceForge.net]</ref>
▲EMMA works by wrapping each line of code and each condition with a flag, which is set when that line is executed.<ref>[https://books.google.com/books?id=L7d0LNpSrRwC&pg=PA289&dq=EMMA+%28code+coverage+tool%29&hl=en&ei=_pXATYmrJqrv0gHoroirBQ&sa=X&oi=book_result&ct=result&resnum=8&ved=0CG0Q6AEwBw#v=onepage&q&f=false Expert Spring MVC and Web Flow; By Seth Ladd, Darren Davison, Steven Devijver, Colin Yates, p. 289]</ref>
▲=== Features ===
▲* instrument classes for coverage either offline (before they are loaded) or on the fly (using an instrumenting application classloader).
▲* Supported coverage types: class, method, line, basic block. EMMA can detect when a single source code line is covered only partially.
▲* Coverage stats are aggregated at method, class, package, and "all classes" levels.
▲* Output report types: plain text, HTML, XML. All report types support drill-down, to a user-controlled detail depth. The HTML report supports source code linking.
▲* Output reports can highlight items with coverage levels below user-provided thresholds.
▲* Coverage data obtained in different instrumentation or test runs can be merged.
▲* it is possible to dump or reset coverage data remotely and without a JVM exit.
▲* does not require access to the source code and degrades gracefully with decreasing amount of debug information available in the input classes.
▲* can instrument individual .class files or entire .jars (in place, if desired). Efficient coverage subset filtering is possible, too.
▲* Makefile and ANT build integration are supported on equal footing.
▲* The runtime overhead of added instrumentation is small (5–20%) and the bytecode instrumentor itself is very fast (mostly limited by file I/O speed). Memory overhead is a few hundred bytes per Java class.
▲* EMMA is 100% pure Java, has no external library dependencies, and works in any Java 2 JVM (even 1.2.x).
== See also ==
|