设置覆盖率过滤器
覆盖率过滤器可让您控制哪些程序集和符号包含或排除在覆盖率分析中。 过滤器可帮助您:
跳过无关代码以减少分析时间。
将结果集中在您的项目或工作区域。
排除测试辅助程序、第三方库或生成的代码。
过滤器类型:
- 运行时覆盖率筛选器
JetBrains Rider 在覆盖率会话期间应用这些过滤器。 使用这些过滤器可以从分析中排除不必要的代码,并减少覆盖率会话的时间。
您可以在 JetBrains Rider 设置中或使用 命令行配置运行时过滤器。
- 覆盖率结果过滤器
JetBrains Rider 在覆盖率会话结束后将这些过滤器应用于覆盖率结果(覆盖率树)。 使用它们可以排除您当前不想看到的节点。 了解更多
应用运行时覆盖率过滤器
使用 JetBrains Rider 设置为特定命名空间或属性指定运行时覆盖率过滤器。
由于过滤器是在运行时应用的,JetBrains Rider 不会在覆盖率快照中包含被过滤项,也不会在 单元测试覆盖率窗口中显示这些项。
添加运行时覆盖率过滤器
在 Rider 设置中打开过滤器设置页面: 。
在 运行时覆盖率筛选器 中,点击
添加 ... ,位于所需过滤规则旁边:不分析程序集中的代码—— 排除特定程序集(例如
*.测试)。 这对于测试工具或外部 SDK 很有用。不分析使用特性标记的代码—— 排除带有特定属性标记的类、方法或属性。 指定完全限定的属性名称,例如
System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute或*.ExcludeFromCodeCoverageAttribute。
在过滤器中指定代码项名称时,您可以使用星号通配符:
*(星号)表示零个或多个字符。点击 保存。
将过滤器应用于覆盖率结果
JetBrains Rider 在覆盖率会话结束后将这些过滤器应用于覆盖率结果。 使用结果过滤器在用户界面中临时隐藏覆盖率树中的项。 这些过滤器不会影响分析或生成的快照。
从覆盖率结果中排除节点(命名空间、类、类成员)
打开 单元测试覆盖率窗口。
选择一个节点,并在上下文菜单中选择:
从覆盖率结果中排除 以从当前结果中排除该节点。
排除除此之外的所有节点 以仅在覆盖率树中保留所选节点。
重新显示被排除的节点
点击 显示所有节点 链接,位于 单元测试覆盖率窗口 顶部。