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
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

See Coverage View

See Summary View

See Risk Hotspots View

Global (Shared) 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 |
 |