通过使用代码覆盖率功能,您可以发现您的测试需要改进的地方,并使您的软件更加健壮和可靠。在这篇文章中,我们将介绍我们在 Visual Studio Enterprise 2022 中引入的 Code Coverage Results 窗口的新特性。这些特性是:

  - 支持其他报告格式

  - 增强的报告合并

  - 性能增强

  - 覆盖率视图

  这些特性在 Visual Studio 的专业版或社区版中不可用。

支持其他报告格式

  我们现在支持覆盖率报告的其他格式。支持的格式如下:

  - 二进制(默认):.coverage(微软特殊二进制格式)

  - Cobertura: .cobertura.xml (Java代码覆盖工具的 XML 格式)

  - XML: .xml (微软 XML 格式)

  - CoverageXml: .coveragexml (微软 XML 格式)

  覆盖率报告也可以更改为支持的其他格式。

增强的报告合并

  我们已经更改了合并报告的方式。现在,如果项目使用相同的源代码,我们会将它们合并到报告中。例如,如果一个项目的目标是不同的框架,那么合并的报告将只有一个项目的条目,并将覆盖率数据添加在一起。

性能增强

  随着时间的推移,覆盖率报告操作变得越来越快。使用最新版本的 Visual Studio Enterprise 合并和打开报告的速度明显更快。

  该表显示了在不同版本的 Visual Studio 中打开报告所需的时间:

  以及报告合并的时间:

覆盖率视图

  在覆盖率窗口中添加了新的视图,以不同的方式查看覆盖率数据。它们提供了不同的视角来可视化覆盖率数据并改善开发人员的体验。

Margin Glyphs

  我们介绍了一种在编辑器中查看覆盖率的新方法。页边距符号在页边距中使用实心矩形表示已覆盖的行,使用条纹矩形表示部分已覆盖的行,使用开放矩形表示未覆盖的行。

Source View

  Source View 显示基于目录/文件结构而不是命名空间/类/方法结构的覆盖率数据。它在文件级别合并覆盖信息。

  当您的 C++ 代码和单元测试项目使用静态库时,它是有用的。对于项目视图,每个单元测试项目仅显示在其自己的测试中运行的代码的覆盖率。但是 Source View 结合了所有测试项目的覆盖运行。

变更集报告

  变更集报告过滤覆盖率报告,并仅显示当前本地 git 分支中所做更改的覆盖率统计信息。它帮助开发人员识别他们自己的变更的覆盖率状态,并改进新代码的代码覆盖率。

搜索

  搜索已经被添加到代码覆盖率结果窗口中。您可以使用不同的搜索参数进行搜索,以过滤报告。例如,显示块覆盖率小于80%的方法。

  您可以将视图的任何组合一起使用。例如,您可以只显示当前分支中块覆盖率低于80%的方法。覆盖率窗口和代码编辑器将显示过滤的结果。

小结

  我们很高兴您能使用我们新的代码覆盖率特性。我们相信这些特性将帮助您识别和改进解决方案的代码覆盖率。

  我们感谢您花时间报告问题/建议,并希望您在使用 Visual Studio 时继续给我们反馈,告诉我们您喜欢什么以及我们可以改进什么。您的反馈对于帮助我们使 Visual Studio 成为最好的工具至关重要!您可以通过开发者社区与我们分享反馈,通过发送反馈来报告问题或分享您的建议,推动对新功能或现有功能的改进。

  通过在 YouTube, Twitter, LinkedIn, Twitch 和 Microsoft Learn 上关注我们与 Visual Studio 团队保持联系。

原文链接:https://devblogs.microsoft.com/visualstudio/code-coverage-features-in-visual-studio-enterprise/

 

【译】Visual Studio Enterprise 中的代码覆盖率特性的更多相关文章

  1. 【广州.NET社区推荐】【译】Visual Studio 2019 中 WPF & UWP 的 XAML 开发工具新特性

    原文 | Dmitry 翻译 | 郑子铭 自Visual Studio 2019推出以来,我们为使用WPF或UWP桌面应用程序的XAML开发人员发布了许多新功能.在本周的 Visual Studio ...

  2. 【译】Visual Studio 2019 中 WPF & UWP 的 XAML 开发工具新特性

    原文 | Dmitry 翻译 | 郑子铭 自Visual Studio 2019推出以来,我们为使用WPF或UWP桌面应用程序的XAML开发人员发布了许多新功能.在本周的 Visual Studio ...

  3. GitHub在Visual Studio 2015中获得TFS/VSO同等地位

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 在Visual Studio 2015中微软为GitHub提供了扩展插件,从而让GitHub ...

  4. Visual Studio 2013 Web开发新特性

    微软正式发布Visual Studio 2013 RTM版,微软还发布了Visual Studio 2013的最终版本..NET 4.5.1以及Team Foundation Server 2013. ...

  5. 在Visual Studio 2012中使用VMSDK开发领域特定语言(二)

    本文为<在Visual Studio 2012中使用VMSDK开发领域特定语言>专题文章的第二部分,在这部分内容中,将以实际应用为例,介绍开发DSL的主要步骤,包括设计.定制.调试.发布以 ...

  6. 在Visual Studio 2012中使用VMSDK开发领域特定语言(一)

    前言 本专题主要介绍在Visual Studio 2012中使用Visualization & Modeling SDK进行领域特定语言(DSL)的开发,包括两个部分的内容.在第一部分中,将对 ...

  7. Visual Studio Code中文文档(一)-快速入门

    Visual Studio Code是一个轻量级但是十分强大的源代码编辑器,重要的是它在Windows, OS X 和Linux操作系统的桌面上均可运行.Visual Studio Code内置了对J ...

  8. ASP.NET 5系列教程 (五):在Visual Studio 2015中使用Grunt、Bower开发Web程序

    基于Visual Studio 2015,你可以: 方便的管理前端包,如jQuery, Bootstrap, 或Angular. 自动运行任务,如LESS.JavaScript压缩.JSLint.Ja ...

  9. 在 Visual Studio Code 中使用 PoweShell - CodeShell

    一直希望在 Visual Studio Code 中使用 PowerShell,插件 CodeShell 提供了对于 PowerShell 的支持. 安装 首先按 F1,打开命令窗口,输入安装插件的命 ...

  10. 在 Visual Studio 2013 中创建 ASP.NET Web 项目(0):专题导航 [持续更新中]

    写在前面的话 随着 Visual Studio 2013 的正式推出,ASP.NET 和 Visual Studio Web 开发工具 也发布了各自的最新版本. 新版本在构建 One ASP.NET ...

随机推荐

  1. Ingress和Ingress Controller什么关系

    Ingress Controller和Ingress在Kubernetes(K8s)中各自扮演着不同的角色,但它们共同协作以实现外部访问集群内部服务的功能. Ingress是一个Kubernetes ...

  2. 【深度学习】神经网络正则化方法之Dropout

    前言 正则化是一种广泛用于机器学习和深度学习的手段,它的目的就是阻碍模型过度学习(过拟合),从而提升算法的泛化能力. Dropout 是一种常见的缓解过拟合的方法.接下来,本文将从原理和实践来介绍Dr ...

  3. 逆向通达信Level-2 续十一 (无帐号登陆itrend研究版)

    <续九>无帐号打开了itrend研究版但是用不了.今次无帐号登陆itrend研究版可以使用行情. 演示三图 1. 首先成功在金融终端无帐号登陆成功. 2. 同理应用在itrend研究版,却 ...

  4. EL表达式 参考手册

    一.EL简介 1.语法结构     ${expression} 2.[]与.运算符     EL 提供.和[]两种运算符来存取数据.     当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或 ...

  5. 03.Android崩溃Crash库之ExceptionHandler分析

    目录总结 00.异常处理几个常用api 01.UncaughtExceptionHandler 02.Java线程处理异常分析 03.Android中线程处理异常分析 04.为何使用setDefaul ...

  6. 记录--千万别让 console.log 上生产!用 Performance 和 Memory 告诉你为什么

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 很多前端都喜欢用 console.log 调试,先不谈调试效率怎么样,首先 console.log 有个致命的问题:会导致内存泄漏. 为什 ...

  7. 任何样式,javascript都可以操作,让你所向披靡

    前言 习惯了在 css 文件里面编写样式,其实JavaScript 的 CSS对象模型也提供了强大的样式操作能力, 那就随文章一起看看,有多少能力是你不知道的吧. 样式来源 客从八方来, 样式呢, 样 ...

  8. .NET周刊【3月第3期 2024-03-24】

    国内文章 Garnet: 力压Redis的C#高性能分布式存储数据库 https://www.cnblogs.com/InCerry/p/18083820/garnet_introduce 微软研究院 ...

  9. quartus中的时序约束常用方法

    quartus中的时序约束常用方法 一.约束操作 quartus中有三种时序约束方法: 1️⃣Timing Setting 2️⃣Wizards/Timing Wizard 3️⃣Assignment ...

  10. KingbaseES V8R6集群备份恢复案例之---备份初始化“can not find primary node”故障

    案例说明: KingbaseES V8R6集群,备库作为repo-path节点,建立类型为'cluster'模式的备份,在执行sys_backup.sh init时,出现"can not f ...