设置覆盖率过滤器
覆盖率筛选器可让您控制哪些程序集和符号包含在覆盖率分析中,哪些被排除。 筛选器可帮助您:
通过跳过无关代码来减少分析时间。
将结果聚焦于您的项目或工作区域。
排除测试辅助工具、第三方库或生成的代码。
过滤器类型:
- 运行时覆盖率筛选器
dotCover 在覆盖率会话期间应用这些过滤器。 使用这些过滤器可以从分析中排除不必要的代码并减少覆盖率会话时间。
您可以在 dotCover 设置中或使用 命令行配置运行时筛选器。
- 覆盖率结果过滤器
dotCover 在覆盖率会话结束后将这些过滤器应用于覆盖率结果(覆盖率树)。 使用它们可以排除您当前不想看到的节点。 了解详情
应用运行时覆盖率筛选器
使用 dotCover 设置为特定命名空间或属性指定运行时覆盖率筛选器。
由于筛选器在运行时应用,dotCover 不会在 覆盖快照中包含被筛选的项,也不会在 覆盖率结果浏览器窗口或 单元测试覆盖率窗口中显示它们。
添加运行时覆盖率过滤器
在 ReSharper 设置中打开过滤器设置页面: 。
在 运行时覆盖率筛选器 中,点击
添加 ... 旁边的所需过滤规则:不分析程序集中的代码 – 排除特定程序集(例如
*.Tests)。 这对于测试工具或外部 SDK 很有用。不分析使用特性标记的代码 – 排除使用特定属性标记的类、方法或属性。 指定完整限定的属性名,例如
System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute或*.ExcludeFromCodeCoverageAttribute。
在过滤器中指定代码项名称时,您可以使用星号通配符:
*(星号)表示零个或多个字符。点击 保存。
共享运行时覆盖率过滤器
解决方案范围的过滤器保存在 解决方案团队共享设置层中,因此可以在与其他开发人员共享的解决方案中使用。
实际上,您只需将 [SolutionName].sln.DotSettings 文件放入解决方案文件夹并置于版本控制系统(VCS)下即可共享解决方案范围的过滤器。 一旦其他团队成员从 VCS 获取此文件,过滤器也将在他们的计算机上应用。
请注意,其他集成到 Visual Studio 的 JetBrains 产品可能会将其解决方案范围的团队共享设置存储在同一个文件中。 因此,如果您将此文件置于 VCS 下,请记住其他产品的设置也可能被共享。 有关更多信息,请参阅 管理和共享 dotCover 设置。
将筛选器应用于覆盖率结果
dotCover 在覆盖率会话结束后将这些过滤器应用于覆盖率结果。 使用结果筛选器在 UI 中的覆盖率树中临时隐藏项目。 这些筛选器不会影响分析或生成的快照。