使用C#开发工具包测试

Visual Studio Code 中的 C# 测试由 C# Dev Kit 扩展支持。这是一个轻量级扩展,旨在提升你的C#开发体验。

概述

该扩展支持以下测试框架:

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

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

要求

项目设置

注意:如果你已经在项目中搭建了 C# 测试框架,可以跳到功能部分。

启用测试并向你的项目添加测试框架包

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

x单元

打开命令面板,选择 .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]

新国

打开命令面板,选择 .NET:新项目......然后选择 NUnit3 测试项目,并提供新项目的名称和地点。这将创建一个新的项目和目录,使用 NUnit 作为测试库,并通过添加以下内容配置测试运行器<PackageReference />元素到项目文件中。

  • Microsoft.NET.Test.Sdk
  • 无单位
  • NUnit3TestAdapter

从终端执行以下命令:

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

MSTestest

打开命令面板,选择 .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]

特色

运行/调试测试用例

一旦你写好了测试用例,你需要对你的测试项目进行构建,才能将它们识别为测试。打开命令面板,选择 .NET:构建。这将帮助你构建项目。

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

测试探索器

测试资源管理器是一个树状视图,用来显示你工作区中的所有测试用例。你可以选择Visual Studio Code活动栏左侧的烧杯按钮来打开它。你也可以运行/调试你的测试用例,并从那里查看测试结果。如果你还没有对项目进行构建,请点击刷新测试按钮来执行构建并发现所有测试。

C# 开发套件中的代码覆盖

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

代码覆盖率是一种衡量自动测试在代码库中执行的百分比指标。它有助于识别未经测试的身份 代码部分通过确保全面覆盖来提升测试质量。

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

要运行带有代码覆盖的测试,请遵循以下步骤:

    1. 从活动栏打开测试资源管理器。
    1. 选择并运行带覆盖的测试:选择你想运行的测试并带覆盖执行。
    1. 查看覆盖率数据:代码覆盖率数据会自动生成,并与测试结果一同显示在测试资源管理器中。

如果您已经生成了覆盖报告并希望查看 VS Code 中的结果:

    1. 使用命令面板:打开命令面板(⇧⌘P(Windows,Linux Ctrl+Shift+P),搜索“测试:显示覆盖”以访问覆盖数据。
    1. 查看编辑器中高亮显示的代码覆盖情况:
    • 绿色线:表示已测试代码。
    • 红线:表示未测试代码。
    1. 测试浏览器摘要:测试浏览器提供整体覆盖范围的摘要,允许您探索需要额外测试的特定文件或方法。

为了提升代码的测试覆盖率:

  • 请查看覆盖报告(在测试浏览器或编辑器中)以识别红色标记的区域, 表示代码未经测试。
  • 创建新的测试以覆盖报告中未测试的领域。
  • 重新运行测试并审查更新后的覆盖,确保你的代码经过充分测试。

查看测试结果

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

查看测试结果

你可以在栈追踪中选择链接,导航到源位置。

VS Code 测试命令

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

在命令调色板中测试命令

VS Code 测试设置

有针对测试的VS Code设置,可以通过在设置编辑器中搜索“测试”(⌘,(Windows,Linux Ctrl+,)找到。

测试设置