Skip to content
SPECIFICTION
Get listed

Coverage.py vs Kover

Coverage.py

coverage.readthedocs.io

Kover

kotlin.github.io

Side by side

FigureCoverage.pyKover
Price fromFreeFree
Free planYesYes
Free trial——
Open sourceYes—
WindowsYes—
macOSYes—
LinuxYesYes
APIYes—
Self-hostedYes—
Plans published21
Spec score · Test Coverage Tools8.9 (#2)7.4 (#19)
IntegrationsOfficial examples cover pytest, unittest, and nose, and pytest commonly uses the pytest-cov plugin.The Gradle plugin works with Kotlin JVM, Kotlin Android, Kotlin Multiplatform, and com.android.kotlin.multiplatform.library plugins.
LicenseCoverage.py is licensed under the Apache 2.0 License.The project repository identifies its license as Apache-2.0.
PurposeCoverage.py measures which parts of Python programs ran and identifies executable code that did not run, commonly to gauge test effectiveness.Kover is a set of tools for collecting test coverage of Kotlin code compiled for JVM and Android platforms.
ReportsIt can produce text, HTML, XML, LCOV, and JSON reports.The Gradle plugin generates HTML and XML coverage reports and supports coverage verification rules.
SupportUsers can seek help on the Python discussion forums or Python Discord, report bugs on GitHub, and obtain professional support through Tidelift Subscription.The repository links to contributing guidelines and a code of conduct.

Plans

Coverage.py

  • Coverage.pyFree
  • FreeFree

Coverage.py pricing →

Kover

  • KoverFree

Kover 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

Kover

Kover is a free, Apache-2.0-licensed toolkit maintained by Kotlin for measuring test coverage in Kotlin and Java code compiled for JVM and Android targets. It provides Gradle and Maven plugins, a command-line interface, offline instrumentation, a JVM agent, and a features artifact. The Gradle plugin creates HTML and XML reports, supports IC output, and can enforce coverage gates using line, instruction, and branch measurements. It integrates with Kotlin JVM, Kotlin Android, Kotlin Multiplatform, and the com.android.kotlin.multiplatform.library plugins, including mixed Kotlin and Java sources. JaCoCo can replace Kover for measurement and report generation. Android build variants and Android host tests are supported, but instrumented tests on devices are not collected. JavaScript and native targets are outside the Gradle plugin’s support. Requirements include Gradle 6.8.3 or later, JVM 1.7 or later for tests, and Android Gradle Plugin 7.0.0 or later. Class instrumentation during JVM test loading may affect performance or concurrent tests.

Visit kotlin.github.io