unit-testing - 如何排除床单覆盖率报告中的方法?
问题描述
如何使用coverlet
and将方法从代码覆盖率报告中排除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
解决方案
只需应用于[ExcludeFromCodeCoverage]
方法而不是类。
推荐阅读
- c# - 分配实体实例而不是实体 ID 创建新记录
- php - Laravel 中的模型可以应用多个查询吗?
- python - 为 Python 2.7 创建可执行文件
- ruby-on-rails - 具有特定 ID 的嵌套路由的 Rails 路由别名
- python - 不显示 discord.py 的更新角色
- macos - macOS 使用 kevents 监控新的分叉进程
- c# - 如何从 Angular 9 中的字节数组打开 PDF?
- javascript - Node,js sequelize.js:如何使用默认值自动增加主键
- javascript - Angular Promise 未解决
- spring-boot - Spring Boot:我应该如何部署我的微服务