Visual Studio 中的测试工具概述

Visual Studio 测试工具可以帮助你和你的团队开发和维持高标准的代码卓越。

注释

所有版本的 Visual Studio 中都提供单元测试。 其他测试工具(如 Live Unit Testing 和 IntelliTest)仅在 Visual Studio Enterprise 版本中可用。 有关版本的详细信息,请参阅 比较 Visual Studio IDE

测试资源管理器

“测试资源管理器”窗口可帮助开发人员创建、管理和运行单元测试。 可以使用Microsoft单元测试框架或多个第三方和开源框架之一。

Visual Studio 测试资源管理器 16.2

Visual Studio 也是可扩展的,为第三方单元测试适配器(如 NUnit 和 xUnit.net)打开大门。 此外,代码克隆检测功能通过帮助你识别语义上相似且可能适合常见 bug 修复或重构的代码块,从而与提供高质量的软件密切相关。

第三方测试集成

实时单元测试

Live Unit Testing 会在后台自动运行单元测试,并在 Visual Studio 代码编辑器中以图形方式显示代码覆盖率和测试结果。

注释

实时单元测试仅在企业版中可用,并且仅支持 .NET 代码。

IntelliTest

IntelliTest 自动生成托管代码的单元测试和测试数据。 IntelliTest 改进了覆盖范围,并大大减少了为新代码或现有代码创建和维护单元测试的努力。

运行中的 IntelliTest

注释

IntelliTest 仅在 Enterprise 版本中可用。 面向 .NET Framework 的 C# 代码支持它。 目前不支持 .NET Core 和 .NET Standard。

代码覆盖率

代码覆盖率 确定由编码测试(如单元测试)实际测试的项目代码比例。 为了有效防范 bug,测试应执行或“覆盖”大部分代码。

注释

代码覆盖率仅在企业版中可用。

代码覆盖率分析可以同时应用于托管和非托管(本机)代码。

使用测试资源管理器运行测试方法时,代码覆盖率是一个选项。 结果表显示在每个程序集、类和方法中运行的代码的百分比。 此外,源编辑器会显示已测试的代码。

Microsoft Fakes(微软伪造)

Microsoft Fakes 可帮助隔离要测试的代码,方法是将应用程序的其他部分替换为存根或填充码。

注释

Microsoft Fakes 仅在企业版中可用,并且仅支持 .NET 代码。

使用 Playwright 进行用户界面测试

建议使用 Playwright 进行基于浏览器的通用 UI 测试。

使用编码的 UI 和 Selenium 进行用户界面测试

编码的 UI 测试提供了一种方法,用于创建完全自动化的测试来验证应用程序的用户界面的功能和行为。 他们可以跨各种技术(包括基于 XAML 的 UWP 应用、浏览器应用和 SharePoint 应用)自动执行 UI 测试。

注释

编码的 UI 是已弃用的功能。

无论是选择最佳编码的 UI 测试还是 使用 Playwright 进行基于浏览器的通用 UI 测试,Visual Studio 都提供所需的所有工具。