A cross-platform code coverage collection tool for .NET, supporting line, branch, and method coverage.
Coverlet is a cross-platform code coverage framework for .NET that collects line, branch, and method coverage data during test execution. It helps developers measure how much of their code is exercised by tests, identifying untested areas to improve software quality. The tool integrates with various .NET testing workflows, including Microsoft Testing Platform, VSTest, and MSBuild.
.NET developers and teams who write unit tests and need to track code coverage as part of their CI/CD pipelines or local development process.
Developers choose Coverlet for its cross-platform compatibility, multiple integration options, and detailed coverage metrics. It is the default coverage tool for .NET Core and .NET 8+ applications, offering reliable performance and seamless integration with popular .NET testing frameworks.
Cross platform code coverage for .NET
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Works on Windows, macOS, and Linux with .NET Core and .NET Framework, as stated in the README's cross-platform support, making it versatile for diverse development environments.
Offers multiple integration options including Microsoft Testing Platform, global tool, VSTest, and MSBuild, evidenced by separate NuGet packages and guides, allowing tailored workflows.
Collects line, branch, and method coverage data, providing comprehensive insights into test execution, which is a core feature highlighted in the key points.
Generates reports in JSON, Cobertura, OpenCover, and LCOV formats, facilitating easy integration with CI/CD pipelines and visualization tools like Fine Code Coverage.
Only supports modern SDK-style projects, excluding older .NET project types, which can be a significant barrier for teams with legacy codebases not yet migrated.
Support for deterministic builds requires workarounds described as 'not optimal' in the documentation, adding manual steps and potential setup headaches.
With different drivers having specific requirements (e.g., .NET 8.0 for MTP) and incompatibilities (like coverlet.collector not working with MTP), setup can be error-prone and confusing.