查看 Visual Studio Code 对单元测试的支持情况
在使用 GitHub Copilot 生成单元测试之前,项目需要一个工作测试框架和一种在Visual Studio Code内运行测试的方法。 Visual Studio Code、.NET SDK 和 C# 开发工具包扩展提供托管单元测试的环境,同时GitHub Copilot侧重于生成和优化测试代码。 了解基础环境使GitHub Copilot工作流更易于遵循。
本单元检查支持单元测试的Visual Studio Code功能和 C# 工具。 后面的单元侧重于GitHub Copilot如何生成和维护在此环境中运行的测试代码。
Visual Studio Code对单元测试的支持
若要在 Visual Studio Code 中创建和运行 C# 单元测试,需要以下资源:
- .NET 8.0 SDK 或更高版本。
- 用于Visual Studio Code的 C# 开发工具包扩展。
- 您的项目中已添加一个测试框架包。
C# 开发工具包对单元测试的支持
C# 开发工具包扩展提供了在本模块中使用的测试功能:
- 测试资源管理器:显示工作区中的所有测试用例的树视图。 可以通过选择活动栏上的 beaker 图标来打开测试资源管理器。
- 运行/调试测试用例:绿色播放按钮显示在每个测试类和方法旁边的编辑器中。 右键单击播放按钮以查看更多选项。
- 查看测试结果:测试运行后,结果将反映在编辑器修饰和测试资源管理器中。 选择堆栈跟踪中的链接将导航到源位置。
-
测试命令:命令面板中提供了类似
Test: Run All Tests命令。 搜索Test:以查看完整列表。 -
测试设置:设置编辑器中提供了控制测试发现和运行时行为的设置。 搜索
Testing以查看可用选项。
C# 开发工具包支持以下测试框架:
- xUnit
- NUnit
- MSTest
使用命令面板创建测试项目
Visual Studio Code中的命令面板提供了创建使用受支持框架的测试项目的最简单方法。 可以通过以下方式打开“命令面板”:
- 按 Ctrl + Shift + P 键 (Windows/Linux) ) 或 Cmd + Shift + P (macOS)。
- 打开 “视图 ”菜单,然后选择 “命令面板”。
- 打开解决方案资源管理器视图,右键单击解决方案文件夹,然后选择 New Project。 选择此选项后,系统将打开“命令面板”,其中已选择“.NET:New Project...”命令。
以下部分演示如何为每个受支持的框架创建测试项目。
xUnit
打开命令面板并选择“.NET:新建Project...,选择 xUnit Test Project,然后提供新project的名称和位置。 此命令创建使用 xUnit 作为测试库的项目,并将以下 <PackageReference /> 元素添加到项目文件来配置测试运行程序:
Microsoft.NET.Test.SdkxUnitxunit.runner.visualstudiocoverlet.collector
在集成终端中,可以将测试项目中的引用添加到所测试的项目:
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
NUnit
打开命令面板并选择“.NET:新建Project...,选择NUnit3 测试Project,然后提供新project的名称和位置。 此命令创建使用 NUnit 作为测试库的项目,并将以下 <PackageReference /> 元素添加到项目文件:
Microsoft.NET.Test.SdkNUnitNUnit3TestAdapter
从终端添加对正在测试的项目的引用:
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
MSTest
打开命令面板并选择“.NET:新建Project...,选择MSTest 测试Project,然后提供新project的名称和位置。 此命令将以下 <PackageReference /> 元素添加到项目文件:
Microsoft.NET.Test.SdkMSTest.TestAdapterMSTest.TestFrameworkcoverlet.collector
从终端添加对正在测试的项目的引用:
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
在 Visual Studio Code 中运行和管理单元测试
测试项目存在后,Visual Studio Code和 C# 开发工具包提供了几种运行和管理测试的方法:
- 从编辑器运行/调试:选择类或方法旁边的绿色播放按钮以运行该目标。 右键单击“播放”按钮可查看“运行测试和调试测试”等选项。
- 测试资源管理器:从树视图中运行或调试单个测试、组或完整套件。 测试结果(包括通过/失败图标和持续时间)显示在每个项旁边。
- 查看测试结果:编辑器修饰和测试资源管理器都反映运行后每个测试的当前状态。 选择堆栈跟踪中的链接以跳转到失败行。
-
测试命令:从命令面板中使用诸如
Test: Run All Tests、Test: Debug Failed Tests和Test: Show Output等命令。 -
测试设置:在“设置”编辑器中搜索
Testing以配置在保存或测试结果格式设置时自动运行等行为。
使用 GitHub Copilot 的单元测试工作流
将Visual Studio Code与GitHub Copilot相结合时,单元测试过程分为三个阶段:
- 设置环境:使用 Visual Studio Code、.NET SDK 和 C# 开发工具包创建测试项目并引用正在测试的项目。 你已完成本单元中的此阶段。
- 生成测试代码:使用聊天视图中的 GitHub Copilot 为你的应用程序代码生成单元测试。 下一个单元涵盖此阶段。
- 运行和维护测试:使用测试资源管理器和 C# 开发工具包运行测试,然后使用GitHub Copilot扩展覆盖范围并修复失败的测试。
其余单位侧重于支持第 2 和第 3 阶段的GitHub Copilot工具。