Skip to content
SPECIFICTION
Get listed

Coverage.py vs EclEmma

Coverage.py

coverage.readthedocs.io

EclEmma

eclemma.org

Side by side

FigureCoverage.pyEclEmma
Price fromFreeFree
Free planYesYes
Free trial——
Open sourceYes—
WindowsYesYes
macOSYesYes
LinuxYesYes
APIYes—
Self-hostedYes—
Plans published21
Spec score · Test Coverage Tools8.9 (#2)7.8 (#9)
IntegrationsOfficial examples cover pytest, unittest, and nose, and pytest commonly uses the pytest-cov plugin.EclEmma is based on JaCoCo and is available through the Eclipse Marketplace Client, an update site, or manual installation.
Intended usersThe documentation presents Coverage.py as a tool for people measuring Python test effectiveness by seeing which code tests exercise and which they miss.The Eclipse integration focuses on supporting individual developers; the site points users to JaCoCo integrations for automated builds.
LicenseCoverage.py is licensed under the Apache 2.0 License.The program is provided under the Eclipse Public License 2.0.
PurposeCoverage.py measures which parts of Python programs ran and identifies executable code that did not run, commonly to gauge test effectiveness.EclEmma is a Java code coverage tool that brings coverage analysis into the Eclipse workbench.
SupportUsers can seek help on the Python discussion forums or Python Discord, report bugs on GitHub, and obtain professional support through Tidelift Subscription.The project directs users to its documentation and FAQ, then to the JaCoCo and EclEmma Users group; bugs can be reported through the Eclipse issue tracker.

Plans

Coverage.py

  • Coverage.pyFree
  • FreeFree

Coverage.py pricing →

EclEmma

  • FreeFree

EclEmma pricing →

In their own words

Coverage.py

Coverage.py measures which parts of Python programs run and highlights executable code that remains untouched, helping developers assess what their tests exercise. It measures statement coverage by default and can also track branch coverage. Reports are available as text, HTML, XML, LCOV, and JSON. Dynamic contexts can associate lines of execution with the test function that ran them. Coverage.py can run test suites through their usual command; pytest-cov is available but the documentation says most users do not need it. Third-party plugins can extend measurement to non-Python files, such as connecting executed Python to Django templates. Data is stored in a SQLite database, and advanced use can rely on its API. The current documentation lists Python 3.10 through 3.15 rc2 and PyPy3 versions 3.10 and 3.11. The tool provides ctrace, pytrace, and sysmon measurement cores; sysmon is faster for simple line and branch coverage but lacks support for dynamic contexts and plugins. Coverage.py is licensed under Apache 2.0 and runs on Linux, macOS, and Windows, with self-hosting available. It is free.

Visit coverage.readthedocs.io

EclEmma

EclEmma is a Java code coverage tool that brings coverage analysis into the Eclipse workbench. It supports local Java applications, Eclipse and RCP applications, Equinox OSGi, JUnit, TestNG, Eclipse plug-in and RAP tests, SWTBot tests, and Scala applications. Its Coverage view summarizes results by project and lets developers inspect methods; source editors highlight covered and uncovered code. Coverage summaries can use instruction, branch, line, method, type and cyclomatic complexity counters. Users can switch among coverage sessions or merge results from separate test runs. EclEmma imports JaCoCo.exec data and exports reports in HTML, XML or CSV, as well as JaCoCo execution data files. It is based on JaCoCo and can be installed through the Eclipse Marketplace Client, an update site or manually. The free plug-in is listed at free under the Eclipse Public License 2.0. It requires Eclipse 3.8 or higher, Java 1.5 or higher, and Eclipse Java development tools; the project states that it has no operating-system dependency. Its Eclipse integration focuses on individual developers, with JaCoCo integrations suggested for automated builds.

Visit eclemma.org