Unit testing 如何排除封面覆盖报告中的方法?
如何使用Unit testing 如何排除封面覆盖报告中的方法?,unit-testing,xunit,reportgenerator,coverlet,Unit Testing,Xunit,Reportgenerator,Coverlet,如何使用coverlet和reportgenerator从代码覆盖率报告中排除方法。在中排除整个名称空间。runsettings按预期工作,但使用[ExcludeFromCodeCoverage]属性排除整个文件,而不仅仅是目标方法。有关我在.runsettings中尝试的内容,请参见下面的注释 相关.runsettings行: <DataCollectionRunSettings> <DataCollectors> <DataCollect
coverlet
和reportgenerator
从代码覆盖率报告中排除方法。在中排除整个名称空间。runsettings
按预期工作,但使用[ExcludeFromCodeCoverage]
属性排除整个文件,而不仅仅是目标方法。有关我在.runsettings
中尝试的内容,请参见下面的注释
相关.runsettings
行:
<DataCollectionRunSettings>
<DataCollectors>
<DataCollector>
<Configuration>
<Format>lcov</Format>
<Include>[*]*</Include>
<Exclude>
<!-- excluded namespaces -->
</Exclude>
<!-- excludes entire file from coverage -->
<ExcludeByAttribute>Obsolete, GeneratedCodeAttribute, CompilerGeneratedAttribute,ExcludeFromCodeCoverage</ExcludeByAttribute>
<!-- included & reported as uncovered -->
<ExcludeByAttribute> ExcludeFromCodeCoverageAttribute </ExcludeByAttribute>
<SingleHit>true</SingleHit>
<UseSourceLink>true</UseSourceLink>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
<!-- included and reported as uncovered -->
<CodeCoverage>
<Attributes>
<Exclude>
<Attribute> ^System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute$</Attribute>
</Exclude>
</Attributes>
</CodeCoverage>
</Configuration>
</DataCollector>
</DataCollectors>
</DataCollectionRunSettings>
lcov
[*]*
过时,GeneratedCodeAttribute,CompilerGeneratedAttribute,ExcludeFromCodeOverage
ExcludeFromCodeCoverageAttribute
符合事实的
符合事实的
符合事实的
只需在方法上而不是类上应用[ExcludeFromCodeOverage]
。您使用哪个库或工具来收集覆盖率?@PavelAnikhouski似乎是coverlet的问题
我需要排除测试项目程序集?如何做this@KarthicG我不建议你那样做,但是。。。如果您确实需要,您应该将/p:IncludeTestAssembly=false
参数传递给dotnet test
命令。您能详细说明为什么不建议这样做吗?我认为这个建议一定有原因。@321X当然,在这种情况下,您将无法快速观察到测试程序集中的所有测试都已执行。