A comprehensive coverage testing system for Go, enabling runtime code coverage collection for system tests and accurate testing.
goc is a comprehensive coverage testing system for the Go programming language. It specializes in collecting runtime code coverage for system tests, such as long-running servers, and enables accurate testing workflows that go beyond traditional unit test coverage.
Go developers and teams who need to measure code coverage in complex scenarios like integration testing, microservices, or continuous deployment pipelines.
Unlike standard Go coverage tools, goc provides runtime coverage collection for live applications, integrates with VSCode for real-time visualization, and supports advanced features like profile merging and remote server coordination.
A Comprehensive Coverage Testing System for The Go Programming Language
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Collects code coverage during the actual execution of long-running servers and microservices, filling a gap left by traditional unit test tools.
Offers a VSCode extension that visually highlights covered code as it runs, providing immediate feedback during development and testing.
Supports merging coverage from multiple test runs, crucial for services that restart, ensuring no data loss in complex testing scenarios.
Includes flags like --agentport for fixed ports and remote server support, making it compatible with Docker, Kubernetes, and distributed deployments.
The README admits that coverage counters introduce performance costs, with optimization listed as a future roadmap item, potentially slowing down applications.
Requires running a goc server and using goc build instead of standard Go tools, adding operational steps compared to native coverage collection.
Real-time visualization is currently only available for VSCode, leaving users of other IDEs like GoLand or VS Code without integrated feedback.