You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
When producing code coverage for a WebApi/MVC project, if a Controller has no explicit constructor, it may not produce any code coverage results for the entire file.
These Controllers/Classes seem to be affected by the ExcludeByAttribute=CompilerGeneratedAttribute switch - as removing this option produces code coverage for these files.
Controller must inherit from either ControllerBase, or another constructor-less Controller abstraction. ExcludeByAttribute in either MSBuild property flags, or a runsettings file, must contain CompilerGeneratedAttribute.
Expected behavior
WebApi/MVC Controllers without an explicit constructor, should produce code coverage results.
Actual behavior
WebApi/MVC Controllers without an explicit constructor produces no code coverage results when ExcludeByAttribute=CompilerGeneratedAttribute is used.
These Controllers may use Actions with [FromServices] dependency injection - whilst also not declaring a constructor.
WebApi/MVC Controllers with an explicit constructor will always produce code coverage results.
Configuration (please complete the following information):
Please provide more information on your .NET configuration:
Which coverlet package and version was used? 6.0.2/6.0.3
Which version of .NET is the code running on? .Net8/.Net9
What OS and version, and what distro if applicable? Windows 10
What is the architecture (x64, x86, ARM, ARM64)? x64
Do you know whether it is specific to that configuration? Specifically caused by ExcludeByAttribute=CompilerGeneratedAttribute
The text was updated successfully, but these errors were encountered:
Describe the bug
When producing code coverage for a WebApi/MVC project, if a Controller has no explicit constructor, it may not produce any code coverage results for the entire file.
These Controllers/Classes seem to be affected by the
ExcludeByAttribute=CompilerGeneratedAttribute
switch - as removing this option produces code coverage for these files.To Reproduce
Sample Repository: https://github.com/chrish619/coverlet-coverage-issue-20250103/
Controller must inherit from either ControllerBase, or another constructor-less Controller abstraction.
ExcludeByAttribute
in either MSBuild property flags, or a runsettings file, must containCompilerGeneratedAttribute
.Expected behavior
WebApi/MVC Controllers without an explicit constructor, should produce code coverage results.
Actual behavior
WebApi/MVC Controllers without an explicit constructor produces no code coverage results when
ExcludeByAttribute=CompilerGeneratedAttribute
is used.These Controllers may use Actions with
[FromServices]
dependency injection - whilst also not declaring a constructor.WebApi/MVC Controllers with an explicit constructor will always produce code coverage results.
Configuration (please complete the following information):
Please provide more information on your .NET configuration:
ExcludeByAttribute=CompilerGeneratedAttribute
The text was updated successfully, but these errors were encountered: