此页面详细介绍了 dotCover 中的最新更新和变化。
可免费试用 30 天
我们重做了持续测试工作流以提高实用性:
此前,每个单元测试会话都可以转换为持续测试会话,这可能会在运行多个会话时导致混乱。
现在,新增了一个独立的持续测试会话。 这一更改使得管理和理解测试工作流更加简单。
dotCover 有一个新图标,用于 ReSharper 和 Rider 中的持续测试。 图标会显示当前测试状态,包括是否有失败的测试。 此外,它还提供了多个快速操作:启用或禁用持续测试、查看覆盖结果、切换代码高亮显示等。
现在,您可以对基于 MAUI 框架的单元测试和应用程序执行覆盖率分析。 目前,dotCover 仅支持 Windows 上以 .NET 7.0+ 为目标的 WinUI 桌面应用程序。 这适用于独立 dotCover 以及 ReSharper 和 Rider 中的 dotCover。
Rider 和 ReSharper 中的 dotCover 获得了改进的代码高亮显示:包括新的背景颜色、用于部分覆盖代码行的新装订区域图标,以及其他细微更改。
dotCover 命令行工具现在作为跨平台框架相关的 .NET 工具提供。
此工具作为 CI/CD 场景的默认解决方案,并取代以前的解决方案。
现在,可以使用快捷键直接触发持续测试。 此前,只能通过构建或保存项目来间接执行此操作。 这项功能在带有 ReSharper 的 Visual Studio 和 JetBrains Rider 中均可使用。
现在,您可以在 ARM64 CPU 版本的 Windows 上使用 dotCover。 这适用于所有版本:独立版 dotCover、Rider 中的 dotCover、Visual Studio 中的 dotCover 和 dotCover 控制台运行器。
您现在可以在 ARM32 CPU 版本的 Linux 上使用 dotCover 控制台运行程序。 支持的框架为 .NET Core 3.1 和 .NET 5.0–7.0。
我们已将 Show Covering Tests(显示覆盖测试)操作添加到代码编辑器和 Unit Test Coverage(单元测试覆盖)窗口中的 dotCover 上下文菜单。 此操作会显示一个弹出窗口,其中所有覆盖测试都在同一位置。 弹出窗口还允许您创建新的覆盖会话。
现在,dotCover 仅复制 Visual Studio 和 JetBrains Rider 中持续测试所需的程序集和符号文件。 这提高了 dotCover 的整体性能,特别是在大型项目中,因为它不再需要复制整个工作目录。 如有必要,您可以在 dotCover 设置中调整卷影复制文件筛选器。
以前,要分析 Unity 测试的覆盖率,您必须重启 Unity 并启用覆盖率支持。 从此版本开始,不再需要重新启动 Unity,并且测试覆盖率开箱即受支持。
您可以使用盾牌图标快速查看已打开文件的覆盖结果。 点击图标将在未覆盖的语句之间导航。
dotCover 命令行运行程序现在支持 Alpine 版本 3.13–3.15。 支持以下 CPU 和框架:
我们正在添加包含逐个测试覆盖率信息的新报告类型:FileCoverageXml
、DetailedFileCoverageXml
、FileCoverageJson
和 DetailedFileCoverageJson
。
新报告包括三个部分:
Files
,包括所覆盖源代码文件的信息。 详细报告还提供各文件所覆盖范围的信息。 TestLists
,提供按测试集聚合的测试的信息。 Tests
,包括每个测试的详细信息。 您现在可以使用注释从覆盖率分析中排除某些行或代码块。 可用选项:
// dotcover disable
var i = 1;
var j = 10;
// dotcover enable
/* dotcover disable */ var i = 1; /* dotcover enable */
var i = 1; // dotCover disable this line
// dotcover disable next line
var j = 100;
要使某一选项起作用,必须引用 JetBrains.dotCover.MSBuild NuGet
软件包。 这是一个仅用于开发的依赖项,不会作为运行时依赖项添加到项目中。
我们改进了覆盖率数据的后处理。 例如,控制台运行程序 (IncludePerTest=true
) 生成报告所需的时间要少得多。
dotCover 命令行运行程序现在可以在配备 Apple 芯片处理器的计算机上运行。 它可以为 .NET 6 应用程序(原生模式)和 .NET 5 应用程序(Rosetta 2 模式)提供覆盖率分析。
新的 Code Vision 指标已添加到 Rider 中的 dotCover。 dotCover 会针对一组测试中包含的每个类型成员显示成功和失败测试的数量。 您还可以使用 Code Vision 通知运行、覆盖和调试测试。
dotCover .NET 全局工具现在包括 merge 和 report 命令。
我们改进了 dotCover 命令行运行程序的性能,加快了覆盖率分析。
dotCover 控制台运行程序能够收集个别测试的覆盖率信息,并显示在生成的报告中。 目前,仅支持以下测试运行程序:dotnet test
、dotnet vstest
、vstest.console.exe
。 例如:dotCover.exe dotnet --output=AppCoverageReport.xml --reportType=XML --IncludePerTestInfo=Method -- test "C:\MyProject\MainTests.csproj"
现在,您可以在 Visual Studio 中使用 ReSharper 配置覆盖筛选器,方法与在 JetBrains Rider 中相同。
您可以将 dotCover 控制台运行程序作为 dotnet
全局工具安装:dotnet tool install --global JetBrains.dotCover.GlobalTools --version 2021.1.0
使用它分析 .NET Core 项目和单元测试的覆盖率。
可免费试用 30 天