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