Skip to content
| Marketplace
Sign in
Visual Studio>Tools>Fine Code Coverage

Fine Code Coverage

Fortune Ngwenya

|
51,269 installs
| (19) | Free
Visualize unit test code coverage easily for free in Visual Studio Community Edition (and other editions too)

Supports .NET Core projects, .NET Framework projects and ( probably !) C++ projects.

Please read the README for full details.

Feedback and ideas are welcome click here to let me know

Watch Introduction Video

Highlights unit test code coverage

Run a(some) unit test(s) and ...

Get highlights on the code being tested and the code doing the testing

Code Being Tested

See Coverage View

Coverage View

See Summary View

Summary View

See Risk Hotspots View

Risk Hotspots View

Global (Shared) options

Global Options

Local (Project) options (override globals in your csproj/vbproj : OPTIONAL)

<PropertyGroup Label="FineCodeCoverage">
  <Enabled>
	True
  </Enabled>
  <Exclude>
	[ThirdParty.*]*
	[FourthParty]*
  </Exclude>
  <Include>
	[*]*
  </Include>
  <ExcludeByFile>
	**/Migrations/*
	**/Hacks/*.cs
  </ExcludeByFile>
  <ExcludeByAttribute>
	MyCustomExcludeFromCodeCoverage
  </ExcludeByAttribute>
  <IncludeTestAssembly>
	True
  </IncludeTestAssembly>
</PropertyGroup>

Options

Enabled                 Specifies whether or not coverage output is enabled
Exclude                 Filter expressions to exclude specific modules and types (multiple values)
Include                 Filter expressions to include specific modules and types (multiple values)
ExcludeByFile           Glob patterns specifying source files to exclude e.g. **/Migrations/* (multiple values)
ExcludeByAttribute      Attributes to exclude from code coverage (multiple values)

Both 'Exclude' and 'Include' options can be used together but 'Exclude' takes precedence.

You can ignore a method or an entire class from code coverage by creating and applying the [ExcludeFromCodeCoverage] attribute present in the System.Diagnostics.CodeAnalysis namespace.
You can also ignore additional attributes by adding to the 'ExcludeByAttributes' list (short name or full name supported) e.g. :
[GeneratedCode] => Present in System.CodeDom.Compiler namespace
[MyCustomExcludeFromCodeCoverage] => Any custom attribute that you may define

Filter Expressions

Wildcards
* => matches zero or more characters
		
Examples
[*]* => All types in all assemblies (nothing is instrumented)
[coverlet.*]Coverlet.Core.Coverage => The Coverage class in the Coverlet.Core namespace belonging to any assembly that matches coverlet.* (e.g coverlet.core)
[*]Coverlet.Core.Instrumentation.* => All types belonging to Coverlet.Core.Instrumentation namespace in any assembly
[coverlet.*.tests]* => All types in any assembly starting with coverlet. and ending with .tests

Both 'Exclude' and 'Include' options can be used together but 'Exclude' takes precedence.

Contribute

Check out the contribution guidelines if you want to contribute to this project.

For cloning and building this project yourself, make sure to install the Extensibility Tools 2015 extension for Visual Studio which enables some features used by this project.

License

Apache 2.0

Credits

Coverlet

OpenCover

ReportGenerator

Please support the project

Provider Type Link
Paypal Once
Librepay Recurring Donate using Liberapay
  • Contact us
  • Jobs
  • Privacy
  • Terms of use
  • Trademarks
© 2023 Microsoft