现已发布!了解 11 月的新功能和修复。

使用 C# 开发工具包进行测试

通过 C# 开发工具包扩展可以在 Visual Studio Code 中进行 C# 测试。它是一个轻量级扩展,可增强您的 C# 开发体验。

概述

该扩展支持以下测试框架

C# 开发工具包扩展提供以下功能

  • 运行/调试测试用例
  • 查看测试报告
  • 在测试资源管理器中查看测试

要求

项目设置

注意:如果您已经在项目中设置了 C# 测试框架,则可以跳到“功能”部分。

启用测试并将测试框架包添加到您的项目中

您只需在解决方案资源管理器中执行几个步骤,即可为您的项目启用测试框架

xUnit

打开命令面板并选择 .NET:新建项目..,然后选择 xUnit 测试项目,并为新项目提供名称和位置。这将创建一个新项目和目录,该项目和目录使用 xUnit 作为测试库,并通过将以下 <PackageReference /> 元素添加到项目文件来配置测试运行程序。

  • 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 作为测试库,并通过将以下 <PackageReference /> 元素添加到项目文件来配置测试运行程序。

  • Microsoft.NET.Test.Sdk
  • nunit
  • NUnit3TestAdapter

从终端,运行以下命令

dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]

MSTest

打开命令面板并选择 .NET:新建项目..,然后选择 MSTest 测试项目,并为新项目提供名称和位置。这将创建一个新项目和目录,该项目和目录使用 MSTest 作为测试库,并通过将以下 <PackageReference /> 元素添加到项目文件来配置测试运行程序。

  • Microsoft.NET.Test.Sdk
  • MSTest.TestAdapter
  • MSTest.TestFramework
  • coverlet.collector

从终端,运行以下命令

dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]

功能

运行/调试测试用例

C# 开发工具包将在类和方法定义的左侧生成快捷方式(绿色播放按钮)。要运行目标测试用例,请选择绿色播放按钮。您也可以右键单击它以查看更多选项。

测试资源管理器

测试资源管理器是一个树状视图,用于显示工作区中的所有测试用例。您可以选择 Visual Studio Code 左侧活动栏上的烧杯按钮将其打开。您也可以从那里运行/调试测试用例并查看其测试结果。

C# 开发工具包中的代码覆盖率

C# 开发工具包现在通过 VS Code 代码覆盖率 API 支持代码覆盖率。此功能允许您通过显示在测试期间执行的行和未执行的行来衡量测试的有效性。

代码覆盖率是一种指标,用于跟踪通过自动化测试执行的代码库的百分比。它有助于识别未测试的代码段,并通过确保全面覆盖来提高测试质量。

注意:要启用代码覆盖率,请确保您已安装最新版本的 C# 开发工具包。

要使用代码覆盖率运行测试,请按照以下步骤操作

    1. 从活动栏打开测试资源管理器。
    1. 选择并使用覆盖率运行测试:选择要运行的测试并使用覆盖率执行它们。
    1. 查看覆盖率数据:代码覆盖率数据会自动生成并显示在测试资源管理器中测试结果旁边。

如果您已生成覆盖率报告并且想要在 VS Code 中查看结果

    1. 使用命令面板:打开命令面板(⇧⌘P(Windows、Linux Ctrl+Shift+P),并搜索“测试:显示覆盖率”以访问覆盖率数据。
    1. 在编辑器中查看突出显示的代码覆盖率
    • 绿线:表示已测试的代码。
    • 红线:表示未测试的代码。
    1. 测试资源管理器摘要:测试资源管理器提供总体覆盖率摘要,并允许您浏览需要额外测试的特定文件或方法。

为了提高代码的测试覆盖率

  • 检查覆盖率报告(在测试资源管理器或编辑器中)以识别标记为红色的区域,
    表示未测试的代码。
  • 创建新的测试以覆盖报告中突出显示的未测试区域。
  • 重新运行测试并查看更新的覆盖率,以确保您的代码经过充分测试。

查看测试结果

运行/调试测试用例后,相关测试项的状态将在编辑器装饰和测试资源管理器中更新。

View test results

您可以选择堆栈跟踪中的链接以导航到源代码位置。

VS Code 测试命令

可以通过在命令面板中搜索 测试: 来找到测试命令(例如,运行所有测试)(⇧⌘P(Windows、Linux Ctrl+Shift+P)。

Testing command in Command Palette

VS Code 测试设置

可以通过在设置编辑器中搜索 测试 来找到特定于测试的 VS Code 设置(⌘,(Windows、Linux Ctrl+,)。

Testing settings