Как исключить метод в отчете о покрытии?
Как я могу исключить метод из отчетов о покрытии кода, используя 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>
ОБНОВЛЕНИЕ: похоже, недавно была решена проблема с coverlet
. Обновление устранило проблему. https://github.com/coverlet-coverage/coverlet/issues/809
1 ответ
Просто подай заявку [ExcludeFromCodeCoverage]
по методу вместо класса.