A cross-platform .NET code coverage tool that instruments assemblies via IL weaving for Mono, .NET Framework, and .NET Core.
AltCover is an instrumentation-based code coverage tool for .NET, Mono, and .NET Core that works by weaving extra IL into assemblies ahead of execution. It solves the problem of gathering coverage data across diverse .NET platforms without relying on runtime profiling APIs, ensuring broad compatibility. The tool provides multiple integration points including command-line tools, MSBuild tasks, and APIs for build systems like Fake and Cake.
.NET developers and teams working with multi-platform projects (including .NET Framework, .NET Core, and Mono) who need reliable code coverage metrics. It is particularly useful for those using build automation systems like Fake, Cake, or PowerShell for CI/CD pipelines.
Developers choose AltCover over alternatives because its static IL instrumentation approach works on any platform where the executing process can write results, eliminating dependencies on specific runtime profiling hooks. It uniquely supports mixing platforms between instrumentation and testing environments, offering consistent coverage across .NET Framework, Mono, and .NET Core.
Cross-platform coverage gathering and processing tool set for dotnet/.Net Framework and Mono
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports .NET Framework 2.0+, .NET Core, and Mono with consistent IL instrumentation, allowing mix-and-match between instrumentation and testing platforms as highlighted in the README.
Uses ahead-of-time IL modification instead of runtime profiling APIs, ensuring broad compatibility without dependency on specific runtime hooks, which works wherever the process has write access to results.
Provides command-line tools, MSBuild tasks, and APIs for Fake and Cake build systems, facilitating automation in diverse build pipelines as detailed in the NuGet packages section.
Includes GUI tools for .NET Framework/Mono (GTK#) and .NET Core (AvaloniaUI) to interactively visualize results, with screenshot examples in the README.
The .mdb format for Mono only stores start locations, not end locations, leading to inaccuracies in colored reports as admitted in the README's 'Why altcover?' section.
Requires separate installations like GTK# for .NET Framework visualizer and specific tool versions (e.g., F# compiler compatibility issues), adding overhead compared to plug-and-play alternatives.
The README warns of intermittent build failures due to tooling dependencies, which can disrupt development workflows and require retries, reducing reliability in CI environments.
altcover is an open-source alternative to the following products: