Supercov measures coverage, reviews code quality and security with Jev, and gives coding agents actionable gaps in JavaScript and seven other languages.
Each run returns the quality score, security findings and the uncovered paths. The agent fixes, refactors or adds focused tests, reruns the suite, and continues while useful work remains.
The report packs its evidence into a page that needs no server or install. Attach it to a pull request and anyone can open it.
Assertion coverage
75%asserted3 of 4 executed statements
In the TypeScript example, Jev judged three of four executed statements asserted. Changing the total calculation would not fail the passing test, because order.total had no assertion. Adding assert.equal(order.total, 50) makes a wrong total fail the test.
See the checks, files and source lines that need review.
Supported by Supercorp.
Backed by Supercorp’s open-source track record.
Supported test suites.
Playwright, Vitest, Jest, Cargo, pytest, RSpec, go test, JUnit, and more.
Use leftover tokens on coverage.
Before a reset—or overnight—turn idle agent time into coverage that stays with the repository.
For software factories.
Every pass returns fresh, executable evidence, so agents can keep iterating around the clock while regressions are caught before they ship.
Low overhead.
Fast instrumentation keeps the test loop moving.
Any language.
JavaScript, TypeScript, Rust, Python, Ruby, Go, Java, and Kotlin—with more to come.
Any agent.
Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot—and more.
Free and open source.
MIT licensed. Inspect, extend, and run it anywhere.
How Supercov compares.
JavaScript & TypeScript
Sources and notes September 25, 2026
Vitest uses its standard V8 or Istanbul coverage provider here. Supercov works with your existing test runner.
Per-test coverage means individual tests, not test files. Supercov needs a supported runner; concurrency can limit attribution.
Assertion coverage asks Jev, test by test, whether changing each executed statement would make the test fail. It is not a mutation score or proof of correctness.
Code quality scoring means a per-file score of the source itself, from named property checks answered by Jev. The tools compared here report coverage; linters and dedicated quality platforms are outside this table.
Security review means named security checks per file, also answered by Jev. Findings are patterns to review, not a security score or proof of exploitability; dedicated security scanners are outside this table.
Reports means a browsable HTML report from the tool itself. Supercov’s is one self-contained file that also carries assertions, quality and security; the other tools’ reports cover coverage.
Supercov measures CPython 3.9 and newer. pytest-cov uses coverage.py; enable test contexts for per-test coverage.
Per-test coverage means individual tests, not test files. Supercov needs a supported runner; concurrency can limit attribution.
Assertion coverage asks Jev, test by test, whether changing each executed statement would make the test fail. It is not a mutation score or proof of correctness.
Code quality scoring means a per-file score of the source itself, from named property checks answered by Jev. The tools compared here report coverage; linters and dedicated quality platforms are outside this table.
Security review means named security checks per file, also answered by Jev. Findings are patterns to review, not a security score or proof of exploitability; dedicated security scanners are outside this table.
Reports means a browsable HTML report from the tool itself. Supercov’s is one self-contained file that also carries assertions, quality and security; the other tools’ reports cover coverage.
Per-test coverage means individual tests, not test files. Supercov needs a supported runner; concurrency can limit attribution.
Assertion coverage asks Jev, test by test, whether changing each executed statement would make the test fail. It is not a mutation score or proof of correctness.
Code quality scoring means a per-file score of the source itself, from named property checks answered by Jev. The tools compared here report coverage; linters and dedicated quality platforms are outside this table.
Security review means named security checks per file, also answered by Jev. Findings are patterns to review, not a security score or proof of exploitability; dedicated security scanners are outside this table.
Reports means a browsable HTML report from the tool itself. Supercov’s is one self-contained file that also carries assertions, quality and security; the other tools’ reports cover coverage.
Supercov requires Rust 1.95 and supported Cargo runners. cargo-llvm-cov’s branch and MC/DC flags require nightly. Tarpaulin’s branch option is not implemented.
Per-test coverage means individual tests, not test files. Supercov needs a supported runner; concurrency can limit attribution.
Assertion coverage asks Jev, test by test, whether changing each executed statement would make the test fail. It is not a mutation score or proof of correctness.
Code quality scoring means a per-file score of the source itself, from named property checks answered by Jev. The tools compared here report coverage; linters and dedicated quality platforms are outside this table.
Security review means named security checks per file, also answered by Jev. Findings are patterns to review, not a security score or proof of exploitability; dedicated security scanners are outside this table.
Reports means a browsable HTML report from the tool itself. Supercov’s is one self-contained file that also carries assertions, quality and security; the other tools’ reports cover coverage.
Supercov requires Go 1.22 or newer and runs your own `go test` command against an instrumented copy of the module.
The Go toolchain counts statements per run. A test that calls t.Parallel() shares one counter array with the tests beside it, so Supercov counts that coverage run-wide rather than naming a test for it.
Per-test coverage means individual tests, not test files. Supercov needs a supported runner; concurrency can limit attribution.
Assertion coverage asks Jev, test by test, whether changing each executed statement would make the test fail. It is not a mutation score or proof of correctness.
Code quality scoring means a per-file score of the source itself, from named property checks answered by Jev. The tools compared here report coverage; linters and dedicated quality platforms are outside this table.
Security review means named security checks per file, also answered by Jev. Findings are patterns to review, not a security score or proof of exploitability; dedicated security scanners are outside this table.
Reports means a browsable HTML report from the tool itself. Supercov’s is one self-contained file that also carries assertions, quality and security; the other tools’ reports cover coverage.
Supercov requires JDK 17 or newer with Maven or Gradle, and measures JUnit 5, JUnit 4 through Vintage, TestNG, Kotest and Spock per test, instrumenting an isolated copy rather than your build file. If tests still run concurrently it says so and drops condition coverage instead of guessing.
JaCoCo counts branches from bytecode and reports per run, not per test. OpenClover records per-test coverage from source instrumentation; neither computes MC/DC.
Per-test coverage means individual tests, not test files. Supercov needs a supported runner; concurrency can limit attribution.
Assertion coverage asks Jev, test by test, whether changing each executed statement would make the test fail. It is not a mutation score or proof of correctness.
Code quality scoring means a per-file score of the source itself, from named property checks answered by Jev. The tools compared here report coverage; linters and dedicated quality platforms are outside this table.
Security review means named security checks per file, also answered by Jev. Findings are patterns to review, not a security score or proof of exploitability; dedicated security scanners are outside this table.
Reports means a browsable HTML report from the tool itself. Supercov’s is one self-contained file that also carries assertions, quality and security; the other tools’ reports cover coverage.
Supercov measures Kotlin through the same JVM path as Java, taking test identity from the framework’s own lifecycle, so Kotest and Spock tests keep the names they report. A condition that also narrows a type carries no MC/DC obligation, and the run names every such case.
Kover measures with its own coverage library by default and can switch to JaCoCo. Both report line and branch coverage per run; neither computes MC/DC or per-test coverage.
Per-test coverage means individual tests, not test files. Supercov needs a supported runner; concurrency can limit attribution.
Assertion coverage asks Jev, test by test, whether changing each executed statement would make the test fail. It is not a mutation score or proof of correctness.
Code quality scoring means a per-file score of the source itself, from named property checks answered by Jev. The tools compared here report coverage; linters and dedicated quality platforms are outside this table.
Security review means named security checks per file, also answered by Jev. Findings are patterns to review, not a security score or proof of exploitability; dedicated security scanners are outside this table.
Reports means a browsable HTML report from the tool itself. Supercov’s is one self-contained file that also carries assertions, quality and security; the other tools’ reports cover coverage.