dotCover 2024官方版 v2024.2.5.NET 单元测试运行程序和代码覆盖率工具

dotCover 2024官方版是一款.NET单元测试运作程序流程和代码覆盖率专用工具,能够与Visual Studio和JetBrains Rider进行集成,为用户提供全面的单元测试覆盖编码水平,不仅可以测算并汇报面向.net framework、.NET Core、Mono和Mono for Unity的程序运行的句子级代码覆盖率,还能够帮助用户更好地理解和优化代码质量。

通过使用dotCover,用户可以在开发过程中实时监测代码的执行情况,从而确保您的单元测试能够覆盖到尽可能多的代码路径,这对于提高软件的可靠性和稳定性至关重要,软件还提供了丰富的报告功能,让用户能够清晰地了解哪些代码被执行了,哪些代码没有被执行,以及哪些代码可能存在潜在的问题。除此之外,JetBrains dotCover 2024已经正式支持Visual Studio 2022、2019、2017、2015 和 2013,还支持NUnit、xUnit等多种测试框架,让用户可以轻松地将其与现有的测试环境集成。同时,软件还提供了灵活的配置选项,让用户可以根据自己的需求定制测试策略,以满足不同项目的需求。

JetBrains dotCover(代码覆盖率工具)

dotCover 2024.2.5新功能

1、对 MAUI 应用程序的支持

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

2、改进的覆盖高亮显示

Rider 和 ReSharper 中的 dotCover 获得了改进的代码高亮显示:包括新的背景颜色、用于部分覆盖代码行的新装订区域图标,以及其他细微更改。

3、改进的命令行工具

dotCover 命令行工具现在作为跨平台框架相关的 .NET 工具提供。此工具作为 CI/CD 场景的默认解决方案,并取代以前的解决方案。

4、持续测试的快捷键

现在,可以使用快捷键直接触发持续测试。此前,只能通过构建或保存项目来间接执行此操作。这项功能在带有 ReSharper 的 Visual Studio 和 JetBrains Rider 中均可使用。

5、对 Windows ARM64 的支持

现在,您可以在 ARM64 CPU 版本的 Windows 上使用 dotCover。这适用于所有版本:独立版 dotCover、Rider 中的 dotCover、Visual Studio 中的 dotCover 和 dotCover 控制台运行器。

6、对 Linux ARM32 的支持

您现在可以在 ARM32 CPU 版本的 Linux 上使用 dotCover 控制台运行程序。支持的框架为 .NET Core 3.1 和 .NET 5.0–7.0。

7、在 JetBrains Rider 中更轻松地导航到测试

我们已将 Show Covering Tests(显示覆盖测试)操作添加到代码编辑器和 Unit Test Coverage(单元测试覆盖)窗口中的 dotCover 上下文菜单。此操作会显示一个弹出窗口,其中所有覆盖测试都在同一位置。弹出窗口还允许您创建新的覆盖会话。

8、更快的卷影复制

现在,dotCover 仅复制 Visual Studio 和 JetBrains Rider 中持续测试所需的程序集和符号文件。这提高了 dotCover 的整体性能,特别是在大型项目中,因为它不再需要复制整个工作目录。如有必要,您可以在 dotCover 设置中调整卷影复制文件筛选器。

9、改进了 JetBrains Rider 中的 Unity 支持

以前,要分析 Unity 测试的覆盖率,您必须重启 Unity 并启用覆盖率支持。从此版本开始,不再需要重新启动 Unity,并且测试覆盖率开箱即受支持。

10、在 JetBrains Rider 中快速查看覆盖结果

您可以使用盾牌图标快速查看已打开文件的覆盖结果。点击图标将在未覆盖的语句之间导航。

11、对基于 musl 的 Linux 发行版的支持

dotCover 命令行运行程序现在支持 Alpine 版本 3.13–3.15。支持以下 CPU 和框架:

– x64:.NET Core 3.1、.NET 5.0–6.0。

– arm64:.NET 5.0–6.0。

12、新的覆盖率报告类型

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

新报告包括三个部分:

– Files,包括所覆盖源代码文件的信息。详细报告还提供各文件所覆盖范围的信息。

– TestLists,提供按测试集聚合的测试的信息。

– Tests,包括每个测试的详细信息。

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

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

// 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 软件包。这是一个仅用于开发的依赖项,不会作为运行时依赖项添加到项目中。

14、性能改进

我们改进了覆盖率数据的后处理。例如,控制台运行程序 (IncludePerTest=true) 生成报告所需的时间要少得多。

15、对 Apple 芯片处理器的支持

dotCover 命令行运行程序现在可以在配备 Apple 芯片处理器的计算机上运行。它可以为 .NET 6 应用程序(原生模式)和 .NET 5 应用程序(Rosetta 2 模式)提供覆盖率分析。

16、代码覆盖率的 Code Vision 指标

新的 Code Vision 指标已添加到 Rider 中的 dotCover。dotCover 会针对一组测试中包含的每个类型成员显示成功和失败测试的数量。您还可以使用 Code Vision 通知运行、覆盖和调试测试。

17、改进了 dotCover .NET 全局工具

dotCover .NET 全局工具现在包括 merge 和 report 命令。

18、性能改进

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

19、控制台运行程序中个别测试的覆盖率信息

dotCover 控制台运行程序能够收集个别测试的覆盖率信息,并显示在生成的报告中。目前,仅支持以下测试运行程序:dotnet test、dotnet vstest、vstest.console.exe。例如:dotCover.exe dotnet –output=AppCoverageReport.xml –reportType=XML –IncludePerTestInfo=Method — test \”C:\\MyProject\\MainTests.csproj\”

20、改进了覆盖性能

现在,dotCover 可以在一个程序集中并行运行测试类的覆盖率分析。在某些情况下,这可以加快覆盖率分析速度。

现在,可以为 .NET Core 和 .NET 项目预加载单元测试运行程序(这样,由于单元测试运行程序已加载到内存中,因此可以更快地开始覆盖率分析)。

21、C# 和 Unity 支持更新

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

现在,dotCover 将在覆盖率筛选器发生更改时主动询问是否重启 Unity 编辑器。

22、ReSharper 中的更新版筛选设置

现在,您可以在 Visual Studio 中使用 ReSharper 配置覆盖筛选器,方法与在 JetBrains Rider 中相同。

23、作为 .NET 全局工具的 dotCover 控制台运行程序

您可以将 dotCover 控制台运行程序作为 dotnet 全局工具安装:dotnet tool install –global JetBrains.dotCover.GlobalTools –version 2021.1.0
使用它分析 .NET Core 项目和单元测试的覆盖率。

JetBrains dotCover软件怎么运行?

1、打开在本站安装的dotCover官方版,可以使用以下命令来运行代码覆盖率报告,这将生成一个包含代码覆盖报告的HTML文件,其中包含有关代码覆盖率的信息。在报告中,您将看到每个代码行的覆盖率以及代码行和代码块的总覆盖率,

2、如果你想生成一个JSON格式的代码覆盖率报告,可以通过以下命令来实现,

3、在生成的JSON报告中,你将看到每个代码块的覆盖率以及代码行和代码块的总覆盖率。如果你想将代码覆盖率报告集成到您的CI/CD流程中,可以通过以下命令来实现:

4、这将生成一个包含代码覆盖信息的XML文件,可以将其集成到您的CI/CD流程中。

软件亮点

1、与 Visual Studio 和 JetBrains Rider 集成

dotCover 是 Visual Studio 和 JetBrains Rider 的插件,让您无需离开代码编辑器即可分析和可视化代码覆盖率。这包括直接在 IDE 中运行单元测试和分析覆盖率结果,以及对不同颜色主题、新图标和菜单的支持。

dotCover 支持 Visual Studio 2010 — 2019 和 JetBrains Rider 2018.2 或更高版本。

2、适用于 Windows、macOS 和 Linux

作为 Windows 上 Visual Studio 或 JetBrains Rider 的一部分,dotCover 支持面向任何受支持版本的 .NET Framework、.NET Core、.NET、Mono 5.10 或更高版本以及 Unity 2018.3 或更高版本的项目。在 macOS 和 Linux 上,dotCover 只能用作 JetBrains Rider 的一部分。

3、运行和管理单元测试

dotCover 捆绑了一个单元测试运行器,它与另一个面向 .NET 开发人员的 JetBrains 工具ReSharper共享。

该运行程序在 Visual Studio / JetBrains Rider 中工作,允许通过会话管理单元测试,并支持多个单元测试框架,即 MSTest、NUnit、xUnit(全部开箱即用)和 MSpec(通过插件)。

4、持续测试

dotCover 支持持续测试:一种现代的单元测试工作流程,dotCover 可以实时找出哪些单元测试受到最新代码更改的影响,并自动为您重新运行受影响的测试。

根据您的偏好,dotCover 可以在保存文件、构建解决方案时或在您明确告诉 dotCover 时运行受影响的测试。

可以为任何单元测试会话打开连续测试模式:这样您就可以选择要连续运行哪些测试以及以传统方式运行哪些测试。

5、单元测试覆盖率

dotCover 的一个主要用例是分析单元测试覆盖率,即找出应用程序业务逻辑的哪些部分被单元测试覆盖,哪些部分没有。

除了单元测试运行结果之外,dotCover 还会显示覆盖树,显示单元测试覆盖特定项目、命名空间、类型或类型成员的彻底程度。

6、Visual Studio 和 JetBrains Rider 中的覆盖范围突出显示

为了可视化覆盖率数据,dotCover 可以在代码编辑器中突出显示代码行。可以选择在突出显示标记和彩色背景之间切换或显示两者。

请注意,突出显示不仅显示覆盖和未覆盖的代码,还显示覆盖单元测试的结果。绿色表示测试通过,而红色表示至少一项覆盖该语句的测试失败。灰色显示未覆盖的代码。

7、导航至覆盖测试

dotCover 提供了一个命令(和键盘快捷键)来检测哪些测试覆盖了代码中的特定位置,无论是类、方法还是属性。

您可以从 Visual Studio 文本编辑器或 dotCover 的覆盖率树视图调用该命令。

您可以从列出覆盖测试的弹出窗口导航到任何这些测试。此外,您可以立即运行它们或添加到现有的单元测试会话中。

8、热点视图

热点视图旨在帮助您识别解决方案中风险最大的方法。热点是根据方法的高圈复杂度和低单元测试覆盖率来计算的。

9、覆盖过滤器

有时,您不想了解整个解决方案的覆盖数据。例如,您可能对标记为 的代码 ObsoleteAttribute或特定遗留项目的覆盖率统计数据不感兴趣。

在这种情况下,您可以根据项目、命名空间、类型或类型成员名称设置全局或特定于解决方案的覆盖过滤器。属性过滤器还可以将收集覆盖信息限制为标记(或未标记)某些属性的代码。

10、从覆盖树中排除节点

作为预先设置的过滤器或应用于打开的任何解决方案的过滤器的替代方案,您可以在使用项目时从覆盖率结果中排除项目。

当您已经收集了覆盖率数据时,您可以选择从覆盖率树中排除特定节点(并可选择创建永久覆盖率过滤器)。一旦您执行此操作,dotCover 将立即重新计算覆盖率统计数据。

11、多种报告格式

dotCover 可帮助您按照您需要的方式处理覆盖率数据。

导出为多种格式(包括 HTML、XML、JSON 和 NDepend 的 XML)使您能够与团队的其他成员共享覆盖率报告或将覆盖率信息传递给外部服务。

12、手动测试的代码覆盖率

作为单元测试覆盖率的替代方案,dotCover 可以对从 Visual Studio 执行的 .NET 应用程序运行覆盖率分析。

这使得 QA 工程师能够执行用例场景并检查在此用例期间实际执行的代码部分。保存和合并覆盖率快照支持执行重要的测试用例。

13、覆盖率分析作为持续集成的一部分

dotCover 非常适合持续集成服务器,其中最著名的是 JetBrains 自己的产品TeamCity。

首先,通过 Visual Studio 的 TeamCity 插件,dotCover 能够从 TeamCity 服务器获取覆盖率数据,而无需在本地计算机上运行覆盖率分析。

另一方面,dotCover 覆盖率分析引擎捆绑到免费版本的 TeamCity 中,这有助于安排覆盖率运行作为持续集成流程的一部分并生成服务器端覆盖率报告。TeamCity 了解 dotCover 控制台运行程序的输出,并在构建日志中突出显示其错误和警告。

软件优势

1、覆盖突出显示

dotCover可以为您提供方便的代码覆盖。您可以在Visual Studio中查看特定coverage会话中涵盖和未覆盖的突出显示的语句。

2、连续覆盖分析

dotCover提供了一个用于Continuous Integration服务器的控制台实用程序。此外,TeamCity内置了一个免费的服务器端版dotCover 。

3、过滤和排除节点

使用覆盖过滤器自定义覆盖率分析。从coverage快照中排除特定项目时,dotCover会立即重新计算coverage统计信息。

4、导航到覆盖测试

使用快捷方式检测哪些单元测试覆盖特定语句:弹出窗口Visual Studio将显示覆盖测试列表,并允许您导航到其中任何一个。

更新日志

v2024.2.5版本 

dotCover 2024.2.5新版本亮点包括更多代码覆盖高亮显示选项,连续测试可以更快获得单元测试反馈,以及对 Visual Studio/JetBrains Rider 和 .NET Core 的支持。

© 版权声明
THE END
喜欢就支持一下吧
点赞23 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容