Visual Studio Enterprise 中的代码覆盖功能

Visual Studio Enterprise 中的代码覆盖功能

💡 原文英文,约800词,阅读约需3分钟。
📝

内容提要

Visual Studio Enterprise 2022 引入了新的代码覆盖功能,包括支持更多的报告格式、改进的报告合并和新的覆盖视图。这些功能是 Enterprise 版本独有的。其他增强功能包括用于覆盖可视化的边距符号、覆盖数据的源视图、本地 git 分支更改的变更集报告,以及代码覆盖结果窗口中的搜索功能。鼓励用户提供反馈。

🔎

延伸解读

版本限制与适用场景

代码覆盖功能仅在 Visual Studio Enterprise 2022 中提供,Professional 和 Community 版本无法使用。这意味着团队若想利用这些增强的覆盖分析能力,需要确保开发环境使用 Enterprise 版本。对于依赖社区版或个人版的开发者,可能需要考虑升级或寻找替代工具。

性能提升的实际影响

文章提供了具体数据:打开报告的时间从 16.5 版本的 54 秒降至 17.9 版本的 5 秒,合并报告的时间从 17.0 版本的 47 秒降至 17.9 版本的 6 秒。这种性能改进显著减少了等待时间,尤其对于大型项目或频繁合并报告的场景,能提升开发者的工作效率。

新增视图与搜索的实用价值

新增的覆盖视图(如边距符号、源视图、变更集报告)和搜索功能,让开发者能更灵活地分析覆盖数据。例如,变更集报告仅显示当前本地 git 分支的覆盖统计,帮助开发者聚焦自己的更改;搜索功能可以按条件过滤报告,如查找块覆盖率低于 80% 的方法。这些功能有助于快速定位测试不足的代码区域。

❓

Q&A

Visual Studio Enterprise 2022 的代码覆盖功能有哪些新特性?

Visual Studio Enterprise 2022 引入了新的代码覆盖功能,包括支持更多报告格式、改进的报告合并、性能增强以及新的覆盖视图。这些功能是 Enterprise 版本独有的。

代码覆盖支持哪些报告格式?

支持的报告格式包括:二进制格式 .coverage(默认)、Cobertura 格式 .cobertura.xml、XML 格式 .xml 和 CoverageXml 格式 .coveragexml。

报告合并功能有什么改进?

报告合并现在会将使用相同源代码的项目合并为一个报告。例如,针对不同框架的项目,合并后的报告只会有一个项目项,覆盖数据会相加。

代码覆盖的性能提升体现在哪些方面?

报告合并和打开速度显著提高。例如,打开报告的时间从 16.5 版本的 54 秒减少到 17.9 版本的 5 秒;合并报告的时间从 17.0 版本的 47 秒减少到 17.9 版本的 6 秒。

什么是边距符号?它如何显示覆盖状态?

边距符号是编辑器边距中的视觉指示器:实心矩形表示已覆盖行,条纹矩形表示部分覆盖行,空心矩形表示未覆盖行。

源视图和项目视图有什么区别?

源视图基于目录/文件结构显示覆盖数据,并在文件级别合并覆盖信息,适用于使用静态库的 C++ 代码;项目视图则基于命名空间/类/方法结构,每个单元测试项目只显示自己测试运行的代码覆盖。

变更集报告有什么作用?

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

代码覆盖结果窗口中的搜索功能如何使用?

搜索功能允许使用不同的搜索参数过滤报告,例如显示块覆盖率低于 80% 的方法。可以组合使用视图,例如仅显示当前分支中块覆盖率低于 80% 的方法。

🏷️

标签

➡️

继续阅读