A Go tool that enforces minimum test coverage thresholds locally and in CI, ensuring code quality and preventing coverage regressions.
go-test-coverage is a Go tool that checks whether a project's test coverage meets specified minimum thresholds and reports failures if coverage is insufficient. It solves the problem of declining test coverage over time by enforcing coverage standards directly in development workflows and CI pipelines.
Go developers and teams who want to maintain high test coverage standards and prevent coverage regressions in their projects.
Developers choose go-test-coverage because it's fast, privacy-focused, and easy to integrate into existing workflows without relying on external services. It offers granular configuration and works seamlessly both locally and in CI environments.
go-test-coverage is a tool designed to report issues when test coverage falls below a specified threshold
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
All coverage checks are performed locally without external servers, ensuring sensitive code never leaves your environment, as highlighted in the project's philosophy and security notes.
Supports configurable thresholds at file, package, and total levels, with regex-based exclusions and overrides, allowing precise control tailored to complex Go projects.
Executes in seconds, with benchmarks showing ~1 second runs in CI, making it efficient for both local development and automated pipelines without slowdowns.
Provides clear examples for GitHub Actions and Makefile setups, enabling seamless adoption in existing workflows without external dependencies.
Requires generating coverage profiles with `go test` first, adding an extra step and limiting compatibility to Go's standard testing framework only.
Setting up regex patterns for exclusions and overrides can become error-prone and tedious in large projects with many files or packages.
Focuses on basic line coverage percentages without support for branch coverage, integration with alternative test runners, or built-in visualization beyond badges.