使用C#开发工具包进行测试
在Visual Studio Code中进行C#测试是通过C# Dev Kit扩展启用的。这是一个轻量级的扩展,旨在增强您的C#开发体验。
概述
该扩展支持以下测试框架:
C# 开发工具包扩展提供以下功能:
- 运行/调试测试用例
- 查看测试报告
- 在测试资源管理器中查看测试
需求
- .NET 6.0 SDK 或更高版本
- Visual Studio Code(版本1.58.0或更高版本)
- C# 开发工具包
项目设置
注意:如果您已经在项目中设置了C#测试框架,可以跳转到功能部分。
启用测试并将测试框架包添加到您的项目中
您可以通过解决方案资源管理器中的几个简单步骤为您的项目启用测试框架:
xUnit
打开命令面板并选择.NET:新建项目..,然后选择xUnit测试项目并为新项目提供名称和位置。这将创建一个使用xUnit作为测试库的新项目和目录,并通过向项目文件添加以下
元素来配置测试运行器。
- Microsoft.NET.Test.Sdk
- xunit
- xunit.runner.visualstudio
- coverlet.collector
从终端运行以下命令:
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
NUnit
打开命令面板并选择.NET:新建项目..,然后选择NUnit3 测试项目并为新项目提供名称和位置。这将创建一个使用NUnit作为测试库的新项目和目录,并通过向项目文件添加以下
元素来配置测试运行器。
- Microsoft.NET.Test.Sdk
- nunit
- NUnit3测试适配器
从终端运行以下命令:
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
MSTest
打开命令面板并选择.NET:新建项目..,然后选择MSTest测试项目并为新项目提供名称和位置。这将创建一个使用MSTest作为测试库的新项目和目录,并通过向项目文件添加以下
元素来配置测试运行器。
- Microsoft.NET.Test.Sdk
- MSTest.TestAdapter
- MSTest.测试框架
- coverlet.collector
从终端运行以下命令:
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
功能
运行/调试测试用例
C# Dev Kit 将在类和方法的定义左侧生成快捷方式(绿色的播放按钮)。要运行目标测试用例,请选择绿色的播放按钮。您还可以右键单击它以查看更多选项。
测试资源管理器
测试资源管理器是一个树状视图,用于显示工作区中的所有测试用例。您可以选择Visual Studio Code左侧活动栏上的烧杯按钮来打开它。您还可以从那里运行/调试测试用例并查看测试结果。
C# 开发工具包中的代码覆盖率
C# Dev Kit 现在支持通过 VS Code 代码覆盖率 API 进行代码覆盖率分析。此功能允许您通过显示在测试期间执行的代码行和未执行的代码行来衡量测试的有效性。
代码覆盖率是一个指标,用于跟踪自动化测试执行的代码库的百分比。它有助于识别未测试的代码部分,并通过确保全面的覆盖范围来提高测试的质量。
注意: 要启用代码覆盖率,请确保您已安装最新版本的 C# Dev Kit。
要运行带有代码覆盖率的测试,请按照以下步骤操作:
-
- 从活动栏打开测试资源管理器。
-
- 选择并运行您的测试并覆盖:选择您想要运行的测试并使用覆盖执行它们。
-
- 查看覆盖率数据:代码覆盖率数据会自动生成并显示在测试资源管理器中的测试结果旁边。
如果您已经生成了覆盖率报告并希望在VS Code中查看结果:
-
- 使用命令面板:打开命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))并搜索“测试:显示覆盖率”以访问覆盖率数据。
-
- 查看编辑器中高亮显示的代码覆盖率:
- 绿色行:表示已测试的代码。
- 红色行:表示未测试的代码。
-
- 测试资源管理器摘要:测试资源管理器提供了总体覆盖率的摘要,并允许您探索需要额外测试的特定文件或方法。
为了提高代码的测试覆盖率:
- 检查覆盖率报告(在测试资源管理器或编辑器中)以识别标记为红色的区域,
表示未测试的代码。 - 创建新的测试以覆盖报告中突出显示的未测试区域。
- 重新运行测试并查看更新的覆盖率,以确保您的代码经过充分测试。
查看测试结果
在运行/调试测试用例后,相关测试项的状态将在编辑器装饰和测试资源管理器中更新。
您可以选择堆栈跟踪中的链接以导航到源位置。
VS Code 测试命令
有一些测试命令(例如,运行所有测试)可以通过在命令面板中搜索测试:来找到(⇧⌘P (Windows, Linux Ctrl+Shift+P))。
VS Code 测试设置
在设置编辑器中搜索测试可以找到特定于测试的VS Code设置(⌘, (Windows, Linux Ctrl+,))。