【译】Visual Studio Enterprise 中的代码覆盖率特性
通过使用代码覆盖率功能,您可以发现您的测试需要改进的地方,并使您的软件更加健壮和可靠。在这篇文章中,我们将介绍我们在 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 中的代码覆盖率特性的更多相关文章
- 【广州.NET社区推荐】【译】Visual Studio 2019 中 WPF & UWP 的 XAML 开发工具新特性
原文 | Dmitry 翻译 | 郑子铭 自Visual Studio 2019推出以来,我们为使用WPF或UWP桌面应用程序的XAML开发人员发布了许多新功能.在本周的 Visual Studio ...
- 【译】Visual Studio 2019 中 WPF & UWP 的 XAML 开发工具新特性
原文 | Dmitry 翻译 | 郑子铭 自Visual Studio 2019推出以来,我们为使用WPF或UWP桌面应用程序的XAML开发人员发布了许多新功能.在本周的 Visual Studio ...
- GitHub在Visual Studio 2015中获得TFS/VSO同等地位
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 在Visual Studio 2015中微软为GitHub提供了扩展插件,从而让GitHub ...
- Visual Studio 2013 Web开发新特性
微软正式发布Visual Studio 2013 RTM版,微软还发布了Visual Studio 2013的最终版本..NET 4.5.1以及Team Foundation Server 2013. ...
- 在Visual Studio 2012中使用VMSDK开发领域特定语言(二)
本文为<在Visual Studio 2012中使用VMSDK开发领域特定语言>专题文章的第二部分,在这部分内容中,将以实际应用为例,介绍开发DSL的主要步骤,包括设计.定制.调试.发布以 ...
- 在Visual Studio 2012中使用VMSDK开发领域特定语言(一)
前言 本专题主要介绍在Visual Studio 2012中使用Visualization & Modeling SDK进行领域特定语言(DSL)的开发,包括两个部分的内容.在第一部分中,将对 ...
- Visual Studio Code中文文档(一)-快速入门
Visual Studio Code是一个轻量级但是十分强大的源代码编辑器,重要的是它在Windows, OS X 和Linux操作系统的桌面上均可运行.Visual Studio Code内置了对J ...
- ASP.NET 5系列教程 (五):在Visual Studio 2015中使用Grunt、Bower开发Web程序
基于Visual Studio 2015,你可以: 方便的管理前端包,如jQuery, Bootstrap, 或Angular. 自动运行任务,如LESS.JavaScript压缩.JSLint.Ja ...
- 在 Visual Studio Code 中使用 PoweShell - CodeShell
一直希望在 Visual Studio Code 中使用 PowerShell,插件 CodeShell 提供了对于 PowerShell 的支持. 安装 首先按 F1,打开命令窗口,输入安装插件的命 ...
- 在 Visual Studio 2013 中创建 ASP.NET Web 项目(0):专题导航 [持续更新中]
写在前面的话 随着 Visual Studio 2013 的正式推出,ASP.NET 和 Visual Studio Web 开发工具 也发布了各自的最新版本. 新版本在构建 One ASP.NET ...
随机推荐
- 用python生成正玄波信号源码解析
一 前记 项目需要生成不同频点的正玄波信号,没找到现成的软件,只能自己写一个了.顺便温习一下python. 二 源码解析: #!/usr/bin/python import numpy as np f ...
- jquery之ajax中文乱码解决方案
$.ajax({ dataType : 'json',type : 'POST',url : 'http://localhost/test/test.do',data : {id: 1, type: ...
- 大年学习linux(第二节---磁盘管理)
二.磁盘管理 文件系统配置文件 /etc/filesystems: 系统指定的测试挂载文件系统类型 /proc/filesystems: linux 系统已经加载的文件系统类型 /lib/module ...
- 在Blazor中使用Chart.js快速创建图表
前言 BlazorChartjs是一个在Blazor中使用Chart.js的库(支持Blazor WebAssembly和Blazor Server两种模式),它提供了简单易用的组件来帮助开发者快速集 ...
- 记录--@click和@click.native有什么区别,如何阻止第三方组件内部的冒泡
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一.@click和@click.native的区别 vue @click.native 原生点击事件: 1,给vue组件绑定事件时候,必须 ...
- 记录--你不知道的forEach函数
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 老实说我不喜欢用forEach,因为它导致的一些bug总是这么不经意,盘点我不喜欢的原因 原因一:不支持处理异步函数 先看一个例子: as ...
- 《Effective Java》笔记
2. 创建和销毁对象 1. 静态工厂方法替代构造器 优点: 名称清晰 每次调用不必new对象 可以返回原返回类型任意子类型对象 返回的对象可以随着调用而发生改变 返回的对象所属的类,在编写该静态工厂方 ...
- archlinux开机出现错误Dependency failed for /home. Dependency failed for Local File System Time outwaiting for device /dev/disk/...
错误如下 Dependency failed for /home. Dependency failed for Local File System Time outwaiting for device ...
- Python爬虫爬取搜狐视频电影并存储到mysql数据库
数据获取方式:微信搜索关注[靠谱杨阅读人生]回复[电影].整理不易,资源付费,谢谢支持. 代码: 1 import time 2 import traceback 3 import requests ...
- Fast多维数组
#include<iostream> #include<chrono> struct Timer { std::chrono::time_point<std::chron ...