通过使用代码覆盖率功能,您可以发现您的测试需要改进的地方,并使您的软件更加健壮和可靠。在这篇文章中,我们将介绍我们在 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. 使用Deployment和Service实现简单的灰度发布

    在Kubernetes中,使用单个Service和多个Deployment来实现灰度发布的一种常见方法是利用标签(Labels)和选择器(Selectors)来控制哪些Pods接收来自Service的 ...

  2. PlatformIO+ESP32+Vscode+DS18B20温度传感器(一直输出-127)

    DS18B20一直输出-127 ?? 一.硬件连线 二.代码 三.遇到的问题 一.硬件连线 将相应的线接到ESP wroom 32 二.代码 先在PlatformIO的library添加onWire库 ...

  3. 【LeetCode刷题】239.滑动窗口最大值

    239.滑动窗口最大值(点击跳转LeetCode) 给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧.你只可以看到在滑动窗口内的k个数字.滑动窗口每次只向右移动一位. ...

  4. elasticsearch中runtime_mapping实战

    背景:需要根据一个实时计算处理的结果值进行排序,数据从es中查询.(基于业务背景:佣金排序) es版本:7.17.1:spring-data-elasticsearch版本:4.3.9 方式一:mys ...

  5. ContiPerf是一个轻量级的测试工具,基于JUnit 4 开发,可用于效率测试等。

    1.在maven中使用ContiPerf <dependency> <groupId>junit</groupId> <artifactId>junit ...

  6. 带你快速入坑ES6

    一.了解ES6 1)ES6官网:http://www.ecma-international.org/ecma-262/6.0/ 2)Javascript是ECMAScript的实现和扩展 3)ES学习 ...

  7. KingbaseES查找慢查询语句和阻塞会话

    在处理数据库性能问题时,识别和分析慢查询及阻塞会话是至关重要的步骤.数据库管理员和开发人员常常需要依赖特定的工具和查询语句来追踪这些性能瓶颈. 当数据库响应变慢或出现处理延迟时,第一步通常是查找那些执 ...

  8. KingbaseES Json 系列六:Json记录操作函数一

    KingbaseES Json 系列六--Json记录操作函数一(JSONB_TO_RECORD,JSONB_TO_RECORDSET,JSON_TO_RECORD,JSON_TO_RECORDSET ...

  9. UE4Gameplay定时器

    参考 定时器在全局定时器管理器(FTimerManager类)中管理,对于每个实例Uobject和场景都会有全局定时器管理器,一般来说通过SetTimer和SetTimerForNextTick来设置 ...

  10. LCD - 液晶显示原理(一)

    1. 显示器介绍 ​ 显示器属于计算机的I/O设备,即输入输出设备.它是一种将特定电子信息输出到屏幕上再反射到人眼的显示工具.常见的有CRT显示器.液晶显示器. LED点阵显示器及OLED显示器. 液 ...