dotCover 2025.2 Help

dotCover 的新增功能

dotCover 2025.2

  • 性能改进

    此版本旨在提升覆盖率性能并减少开销。 作为此项工作的组成部分,dotCover 现在专注于当前和实际使用的技术。 根据我们的统计数据,使用率较低的功能已不再受支持。

  • 已移除运行时和框架支持

    • 已不再支持 Mono 和 Unity。 一旦 Unity 的运行时切换到 CoreCLR,将恢复其支持。

    • 已不再支持以下应用程序类型:

      • IIS Express

      • WCF

      • WinRT

      • 外部 .NET 应用程序

      • Mono(所有变体)

      • MAUI

  • 命令行运行器的改进与变更

    • 统一命令: cover

      cover-dotnet 命令已移除。 请使用 dotcover cover 处理所有目标类型,包括 .NET 和 .NET Core 应用程序。 如果未指定 --target-executable ,dotCover 将尝试自动查找适当的 dotnet 可执行文件。

    • 不再支持 XML 配置

      CLI 工具不再支持基于 XML 的配置文件。 请改用包含命令行参数的纯文本文件: dotcover cover @args.txt

    • 仅限 .NET 工具 — 已移除 dotcover.exe

      NuGet 包中不再包含独立 dotcover.exe 运行器。 dotCover 命令行运行器现在只能作为 .NET 全局/本地工具启动(需 .NET 6 或更高版本)。

    • 我们减少了可用命令及其参数的数量,以聚焦于最常用的场景。 完整命令列表请参考 dotCover Console Runner Commands 页面。

  • 覆盖过滤的变更

    我们重新设计了 dotCover 中的过滤系统,聚焦于实际使用的过滤器。 由于使用率极低且维护成本较高,以下过滤器在 dotCover UI 和 CLI 运行器中均已不再受支持:

    • 按方法和类过滤

    • 按文件路径过滤

    • 源代码注释过滤

dotCover 2025.1

  • 改进的命令行工具

    之前,要运行 作为 .NET 工具安装的 dotCover ,您必须使用 dotnet 前缀,例如: dotnet dotcover <command>

    现在,您可以直接使用以下命令运行: dotcover <command>

  • 多项小改进和错误修复。

dotCover 2024.3

  • 多项小改进和错误修复。

dotCover 2024.2

  • 重新设计的持续测试

    我们重新设计了 Visual Studio 和 JetBrains Rider 中的持续测试,以提高可用性:

    • 之前:任何单元测试会话都可以转换为持续测试会话,这可能会导致多个会话的混淆。

    • 现在:有一个单独的 持续测试会话。 此更改使您更容易管理和理解测试工作流。

  • 持续测试指示器

    JetBrains Rider 和 ReSharper 获得了一个新的持续测试图标/指示器。 该图标显示当前的测试状态,包括是否有失败的测试。 此外,它还提供了几个快速操作:启用/禁用持续测试、查看覆盖率结果、切换代码高亮等。

  • 可调节的高亮颜色

    现在,您可以调整用于在编辑器中高亮代码覆盖率的颜色。 这些颜色应用于边距和行背景中的覆盖标记。 该功能目前仅在 JetBrains Rider 中可用。

  • 小幅稳定性改进和错误修复。

dotCover 2024.1

  • 支持 MAUI 应用程序

    现在,您可以对基于 MAUI 框架的单元测试和应用程序执行覆盖率分析。 目前,dotCover 仅支持在 Windows 上针对 .NET 7.0+ 的 WinUI 桌面应用程序。 这适用于独立版 dotCover 以及 ReSharper 和 Rider 中的 dotCover。

  • 改进的覆盖率高亮显示

    Rider 和 ReSharper 中的 dotCover 获得了改进的代码高亮显示:新的背景颜色、部分覆盖代码行的新边距图标以及其他一些小改动。

dotCover 2023.3

dotCover 2023.2

  • 错误修复和稳定性改进。

dotCover 2023.1

  • 通过快捷键启用持续测试

    现在,您可以通过应用快捷键直接触发持续测试。 之前,您只能通过构建或保存项目间接实现这一点。 此功能适用于带有 ReSharper 的 Visual Studio 和 JetBrains Rider。

dotCover 2022.3

  • .NET 7 支持

    dotCover 现在允许您在 Windows、macOS 和 Linux 上对 .NET 7 应用程序执行覆盖率分析。

  • 改进的 ARM CPU 支持

    • Linux arm32&#xa0;– 现在,您可以在 Linux 上的 arm32 CPU 上运行 dotCover 控制台运行器。 支持的框架:.NET Core 3.1、.NET 5.0-7.0。

    • Windows arm64&#xa0;– 现在,您可以在 Windows 上的 arm64 CPU 上使用 dotCover。 这适用于所有版本:独立版 dotCover、Rider 中的 dotCover、Visual Studio 中的 dotCover,以及 dotCover 控制台运行器。

  • JetBrains Rider 中 dotCover 的改进 Unity 支持

    之前,要分析 Unity 测试的覆盖率,您必须重新启动启用了覆盖支持的 Unity。 从此版本开始,无需重新启动 Unity,测试覆盖率开箱即用。

  • 各种改进

    • 在 JetBrains Rider 中更轻松地导航到测试:我们在代码编辑器的 dotCover 上下文菜单和 单元测试覆盖率 窗口中添加了 显示覆盖的测试 操作。 该操作会在当前位置显示包含所有覆盖测试的弹出窗口。 弹出窗口还允许您创建新的覆盖会话。

    • 在 Visual Studio 和 JetBrains Rider 中更快的影子复制:现在,dotCover 仅复制持续测试所需的程序集和符号文件。 这提高了整体性能,尤其是在大型项目中,因为 dotCover 不再需要复制整个工作目录。 如果需要,您可以在 dotCover 设置中调整影子复制文件过滤器。

dotCover 2022.2

dotCover 2022.1

  • 支持基于 musl 的 Linux 发行版

  • 使用注释从覆盖率分析中排除代码

    现在,您可以使用注释将某些代码行或代码块从覆盖率分析中排除。

  • 新的覆盖率报告类型

    我们正在添加包含每个测试覆盖信息的新报告类型:FileCoverageXml、DetailedFileCoverageXml、FileCoverageJson 和 DetailedFileCoverageJson。

    新报告包括三个部分:

    • Files ,其中包含有关已覆盖源代码文件的信息。 详细报告还提供每个文件的覆盖范围信息。

    • TestLists ,其中提供按测试集聚合的测试信息。

    • Tests ,其中包含有关每个测试的详细信息。

  • 性能改进

    我们改进了覆盖率数据的后处理。 例如,控制台运行器(使用 IncludePerTest=true )生成报告所需的时间显著减少。

dotCover 2021.3

  • .NET 6 支持

    dotCover 允许您对以 .NET 6 为目标的应用程序执行覆盖率分析。

  • 支持 Apple M1

    现在,dotCover 命令行运行器可以在配备 Apple M1 处理器的计算机上运行。 该工具支持对 .NET 6 应用程序(原生模式)和 .NET 5 应用程序(Rosetta 2 模式)的覆盖率分析。

  • 代码覆盖率的 Code Vision 指标

    Rider 中的 dotCover 添加了新的 Code Vision 指标。 对于每个通过测试覆盖的类型成员,dotCover 显示成功和失败测试的数量。 您还可以使用 Code Vision 通知来运行、覆盖和调试测试。

  • 改进的 dotCover .NET 全局工具

    dotCover .NET 全局工具现在支持 mergereport 命令。

  • 性能改进

    我们改进了 dotCover 命令行运行器的性能,从而加快了覆盖率分析。

dotCover 2021.2

  • 控制台运行器中的每个测试覆盖信息

    dotCover 控制台运行器能够收集单个测试的覆盖信息,并在生成的报告中显示。 目前,仅支持以下测试运行器: dotnet testdotnet vstestvstest.console.exe。 例如: dotCover.exe dotnet --output=AppCoverageReport.xml --reportType=XML --IncludePerTestInfo=Method -- test "C:\MyProject\MainTests.csproj"

  • 改进的覆盖性能

    • 现在,dotCover 可以在一个程序集内并行运行测试类的覆盖率分析。 在某些情况下,这可能会加快覆盖率分析。 您可以通过 dotCover 设置中的 并行运行测试类 复选框启用此功能。

    • 现在,.NET Core 和 .NET 项目支持单元测试运行器的预加载(这使得覆盖率分析启动更快,因为单元测试运行器已加载到内存中)。 您可以通过 dotCover 设置中的 预加载测试运行器 复选框启用此功能。

  • 各种改进

    • 改进了覆盖树中对 C# 8.0 和 C# 9.0 的支持(显示默认接口实现等)。

    • 现在,如果更改了覆盖过滤器,dotCover 提供重新启动 Unity 编辑器的选项。

    • 各种错误修复。

dotCover 2021.1

  • ReSharper 中更新的过滤设置

    现在,您可以在 Visual Studio 中以与 Rider 相同的方式配置覆盖过滤器。

  • 作为 .NET 全局工具的 dotCover 控制台运行器

    现在,您可以将 dotCover 控制台运行器安装为 dotnet 全局工具: dotnet tool install --global JetBrains.dotCover.GlobalTools --version 2021.1.0 用于分析 .NET Core 项目和单元测试的覆盖率。

  • 覆盖配置窗口中的改进 UI

    通过新的 UI,更容易配置和运行覆盖率分析会话。

dotCover 2020.3

  • .NET 5 支持

    dotCover 允许您对以 .NET 5 为目标的应用程序执行覆盖率分析。

  • 改进的持续测试。

    现在,您可以优化在触发持续测试会话时应构建的项目。 这可以加快持续测试会话的速度。 此功能适用于 Visual StudioRider

  • 改进了对以多个框架为目标的项目的支持。

    现在, Visual StudioRider 中的单元测试覆盖窗口允许您按目标框架筛选覆盖结果。

  • 覆盖树中显示具有过时覆盖信息的方法。

    在 2020.3 之前,具有过时覆盖信息的方法仅在边距中用标记高亮显示。 现在,在 Visual Studio 中,具有过时覆盖信息的方法也会在 单元测试覆盖窗口中高亮显示。

  • 解决方案高亮级别选项中的代码覆盖率。

    现在,您可以使用 Rider 的解决方案高亮级别选项来打开和关闭代码覆盖率高亮显示。

dotCover 2020.2

  • 单元测试覆盖率 窗口中的改进在 Rider中:

    • 您可以从此窗口导出覆盖报告。

    • 您可以在此窗口中执行快速搜索。

    • 您可以从代码中的符号导航到覆盖树中的该符号。

  • dotCover 控制台运行器中的改进

    • --reportype=SummaryXml 参数允许您创建一个新的摘要报告类型,其中包括有关总共覆盖了多少类、方法和语句的数据。

    • 现在,运行器可以一次生成多种类型的报告: --reporttype=HTML,SummaryXml --output=report.html;summary.xml

    • 适用于 Linux(任何带有 GLIBC_2.23 或更高版本的发行版)的运行器现在能够在 ARM64 系统上执行分析。

dotCover 2020.1

  • JetBrains Rider 中的覆盖过滤器

    现在,您可以在 JetBrains Rider 中同时应用运行时过滤器和覆盖结果过滤器。

  • 命令行访问源代码文件

    在控制台运行器中,所有覆盖命令都获得了两个附加参数: --SourcesSearchPaths--AllowSourceServersAccess。 它们允许您分别指定源代码的自定义路径和从源服务器下载源代码。

dotCover 2019.3

  • 支持 Windows、macOS 和 Linux 上的 Unity

    JetBrains Rider 中的 dotCover 支持对 Unity 项目中的测试进行覆盖率分析。

  • 支持 Microsoft Fakes

    dotCover 能够分析使用 Microsoft Fakes 的测试的覆盖率。 请注意,Microsoft Fakes 不仅在 Visual Studio(2017 或更高版本)中的 dotCover 中受支持,还在 dotCover 命令行工具中受支持。 在后者的情况下,您应该使用 vstest.console.exe (来自 Visual Studio 2017 或更高版本)运行测试。

  • 按命名空间分组覆盖结果

    dotCover 能够在 Rider、Visual Studio 和由 dotCover 控制台工具生成的报告中按嵌套命名空间分组覆盖结果。

dotCover 2019.2

  • 支持 Windows、macOS 和 Linux 上的 Mono。

    dotCover 2019.2 支持 Windows、macOS 和 Linux 上的 Mono 5.10 及更高版本。 要在这些操作系统上执行覆盖率分析,您必须使用 JetBrains RiderdotCover 控制台运行器。 请注意,在 macOS 和 Linux 上仅支持 64 位进程。

  • Linux 和 macOS 上的控制台运行器。

    现在,您可以在 macOS 和 Linux 上使用 dotCover 控制台运行器 ,而不仅仅是在 Windows 上。 为了在新平台上更方便,该工具接受 Unix 风格语法的命令参数。 例如,现在, /TargetExecutable=MyApp.exe--targetexecutable:MyApp.exe 都是有效的。

  • 控制台运行器改进。

    控制台运行器获得了两个新命令,以简化 .NET Core 和 Mono 应用程序及单元测试的覆盖率分析: cover-dotnetcover-mono

  • 修复了 0% 覆盖率和 .NET Core 单元测试的问题。 dotnet dotCover test 的解决方法不再需要,但如果您觉得这种运行覆盖率分析的方式更方便,仍然可以使用它。

dotCover 2019.1

  • 支持 macOS 和 Linux 上的 .NET Core 单元测试。 要在这些操作系统上执行代码覆盖率分析,您必须使用 JetBrains Rider

  • Visual Studio 中的远程覆盖率不再可用。 该功能已从 dotCover 中移除。

dotCover 2018.3

  • 改进的覆盖过滤器。 现在,dotCover 选项中有两组过滤器:运行时过滤器(在覆盖会话期间应用的过滤器)和结果过滤器(应用于覆盖结果的过滤器)。 后者扩展了按文件名的过滤器。

  • 支持多个目标框架。 现在,如果一个项目以多个框架为目标, 覆盖率树 将分别显示每个框架的结果(每个框架将作为树中的单独节点显示)。 代码高亮还取决于编辑器中选择的上下文。

dotCover 2018.2

  • JetBrains Rider 集成。 除了 Visual Studio,现在 dotCover 也是 JetBrains Rider IDE 的一部分。 在此版本中,支持两个主要功能:单元测试的代码覆盖率分析和持续测试。

  • 支持 dotnet 控制台工具。 现在,dotCover 命令行运行器可以作为 .NET 命令行工具(dotnet.exe)的扩展使用。 例如,您可以通过运行 dotnet dotCover test 来运行单元测试的覆盖率分析。

  • 现在,当使用 dotCover.exe 控制台运行器时,您应始终优先选择 cover 命令,而不是 analyze 命令。 覆盖结果仅取决于 --ReportType 参数:如果指定了,您将获得某种类型的报告;如果未指定,将保存常规覆盖快照。

dotCover 2018.1

dotCover 2017.3

  • 在持续测试模式下支持 NUnit 和 xUnit 的 .NET Core 测试覆盖率。

  • 快速评估覆盖结果 。Visual Studio 编辑器边距中的“盾牌”图标允许您快速查看总覆盖率百分比和失败测试的数量。 点击图标会引导您浏览未覆盖的语句。

  • 改进的“显示覆盖语句”。 现在,在编辑器中使用 显示覆盖的测试 后,弹出窗口会告诉您这些测试覆盖了代码的具体部分:类、方法或特定语句。

dotCover 2017.2

  • 支持 MSTest 的 .NET Core 测试覆盖率。

  • 改进的性能。 在 2017.2 之前,在大型解决方案上使用持续测试是一件 真正的麻烦事 :尽管测试执行速度非常快,但后续的覆盖率会话可能需要几分钟才能完成。 在 dotCover 2017.2 中,这个问题不复存在:由于新的快照格式,dotCover 提供了更快的覆盖率结果处理。

  • 覆盖率结果现在不仅显示特定测试,还显示测试组、项目、类别等。

  • 色盲标记。 现在,标记不仅可以通过颜色,还可以通过形状来指示覆盖率和测试结果。

  • 从快照中添加覆盖率数据。 现在,在查看特定 单元测试会话的覆盖率结果时,您可以将其与快照中的覆盖率数据合并。

dotCover 2017.1

  • 使用彩色背景高亮显示。 由于新的高亮样式(使用标记)可能并不适合所有用例,我们添加了一个选项,可以在标记和彩色背景之间切换,或者同时显示两者。 旧的高亮样式也支持更新的逻辑,并显示测试覆盖率和测试结果。

dotCover 2016.3

dotCover 2016.2

  • 单元测试会话窗口 和持续测试会话窗口中的执行日志。

  • 能够使用 隐藏自动属性 选项从覆盖率分析中排除自动属性。

  • 能够从 控制台运行器中过滤进程,以通过排除与覆盖率分析无关的子进程来减少不必要的开销。

dotCover 2016.1

最后修改日期: 2025年 9月 27日