测试
Visual Studio Code 提供了丰富的功能来测试您的代码。您可以自动发现项目中的测试,运行和调试测试,并获取测试覆盖结果。VS Code 中的 GitHub Copilot 可以帮助您为项目设置测试框架,并帮助您生成测试代码和修复失败的测试。
在本文中,您将了解如何在 VS Code 中开始测试,找到流行的测试扩展,并探索测试功能。您还将了解 VS Code 中的 Copilot 如何帮助您更快地编写测试并协助您修复失败的测试。
如果你还没有 Copilot 订阅,通过注册 Copilot 免费计划 来免费使用 Copilot。你将获得每月的内置建议和聊天互动的限制。
关于在 VS Code 中进行测试
VS Code 的测试支持是特定语言的,并且取决于你已安装的测试扩展。语言扩展或独立扩展可以为特定语言或测试框架实现测试功能。
VS Code具有以下功能来测试您的代码:
-
支持多种测试框架:语言扩展和独立测试扩展提供对各种语言和测试运行器的支持,例如 Jest、Mocha、Pytest、JUnit 等。
-
集中化测试管理:测试资源管理器提供了一个集中化的地点来管理并运行你项目中的测试。测试资源管理器可能会自动发现你项目中的测试,这取决于测试扩展。
-
集成测试结果:在编辑器中查看测试代码旁边的测试状态,或在测试浏览器中查看所有测试。详细的测试结果可在测试结果面板中查看。
-
测试覆盖:运行带有覆盖的测试,看看你的代码有多少被测试覆盖。
-
AI辅助测试:在 VS Code 中使用 GitHub Copilot 来帮助您设置测试框架、生成测试代码并修复失败的测试。
-
任务集成:通过创建任务来运行你的测试,使你的测试工作更轻松。你还可以在更改代码时在后台运行测试。
在 VS Code 中开始测试
要开始在 VS Code 中进行测试,请按照以下步骤操作:
-
打开扩展视图并为您的项目安装一个测试扩展。通过测试类别过滤扩展 (@category:"testing")。
-
选择烧杯图标 (在活动栏中点击)以打开测试浏览器并发现项目中的测试。
-
从测试资源管理器或直接从编辑器运行和调试您的测试。
测试扩展
您可以通过查看Visual Studio 市场来找到支持测试的扩展。您还可以进入扩展视图 (⇧⌘X (Windows, Linux Ctrl+Shift+X)),并按测试类别筛选。
Copilot 可以帮助设置测试框架并建议相关的测试扩展。打开 Chat 视图 (⌃⌘I (Windows, Linux Ctrl+Alt+I)),输入 /设置测试输入命令, Copilot将引导您完成项目配置过程。
在测试视图中自动测试发现
测试视图提供了一个集中管理并运行测试的地方。您可以通过选择烧瓶图标来进入测试视图 () 在活动栏中。你也可以在命令面板中使用测试:专注于测试资源管理器视图命令 (⇧⌘P (Windows, Linux Ctrl+Shift+P))。
如果你有一个带有测试的项目,测试资源管理器视图会发现并列出你工作区中的测试。默认情况下,发现的测试以树视图显示在测试资源管理器中。树视图与你的测试的层次结构相匹配,使导航和运行测试变得容易。

您可以通过选择播放按钮在测试资源管理器中运行测试。在运行和调试测试部分了解有关运行和调试测试的更多信息。
在测试资源管理器视图中双击测试以导航到测试代码。如果你选择了一个失败的测试,编辑器将打开测试文件,突出显示失败的测试,并显示错误消息。
如果您有很多测试,可以使用过滤选项快速找到您感兴趣的测试。您可以使用过滤按钮按状态过滤测试,或仅显示当前文件的测试。您还可以使用搜索框按名称搜索特定测试或使用@按状态搜索的符号。

在“更多操作”菜单中,您可以访问更多功能,例如排序和显示选项。
如果您添加了新的测试或更改了测试,请使用刷新测试按钮来刷新测试探索器中的测试列表。您还可以在命令面板中使用测试探索器:重新加载测试命令(⇧⌘P(Windows, Linux Ctrl+Shift+P))。
根据测试扩展,您可能首先需要配置测试框架或测试运行程序以发现项目中的测试。有关详细信息,请参阅测试扩展的文档。您可以使用设置测试在 Copilot 聊天视图中输入命令以获取有关为项目设置测试框架的帮助。
用AI编写测试
编写测试可能会很耗时,并且经常被忽视。 Copilot 可以通过为您的应用程序创建测试代码来加速编写测试的过程。您可以使用它来编写单元测试、集成测试、端到端测试等。
要在 VS Code 中使用 Copilot 编写测试,可以使用以下任一方法:
-
编辑智能操作
-
可选地,选择一段应用代码
-
右键单击编辑器,然后选择 Copilot > 生成测试
-
-
聊天提示
-
打开您希望生成测试的应用程序代码文件
-
打开Copilot编辑),聊天视图(⌃⌘I(Windows, Linux Ctrl+Alt+I)),或编辑器内联聊天(⌘I(Windows, Linux Ctrl+I))
-
输入生成测试的提示,例如 为这段代码生成测试。还包括极端情况的测试。
通过输入 为你的提示添加更多上下文
#文件在提示中。例如,为这段代码生成测试 #文件:calculator.js
-
Copilot将为你的应用程序代码生成测试案例代码。如果你已经有一个测试文件,Copilot会将测试添加到该文件中,或者在需要时创建一个新文件。你可以通过向Copilot提供更多的提示来进一步自定义生成的测试。例如,你可以要求Copilot使用另一个测试框架。
您可以给 Copilot 提供您自己的特殊说明以生成代码。例如,您可以指示 Copilot 使用特定的测试框架、命名约定或代码结构。
了解更多关于在VS Code中使用Copilot的信息.
运行和调试测试
在发现项目中的测试后,您可以在 VS Code 内直接运行、调试测试并查看测试结果。
在测试资源管理器中,使用标题部分的控件来运行或调试所有测试。您还可以通过选择特定节点上的运行/调试图标来在树视图中运行或调试特定测试。

当你在编辑器中查看测试代码时,使用编辑器右侧的播放控制在该位置运行测试。

右键单击 gutter 控制以查看其他操作,例如调试测试。
通过使用配置默认的排水沟控制测试动作
运行一个或多个测试后,测试资源管理器中的编辑器边栏和树视图会显示相应的测试状态(通过/失败)。当测试失败时,请注意测试错误消息会显示为编辑器中的覆盖信息。

使用 显示输出 按钮在测试浏览器中查看测试输出。测试结果。

Copilot可以帮助你修复失败的测试。在测试资源管理器中,将鼠标悬停在树视图上,并选择修复测试失败按钮(闪烁), Copilot将建议修复失败测试的方案。或者,输入/修复测试失败在 Copilot Chat 中输入命令。

测试覆盖率
测试覆盖度是衡量您的代码有多少被测试覆盖的指标。它帮助您识别代码中未被测试到的区域。VS Code 支持在相应的测试扩展支持测试覆盖度的情况下运行带有覆盖度的测试并查看覆盖度结果。
你可以像运行和调试测试一样运行带有覆盖测试。在测试资源管理器视图、编辑器边栏或命令面板中使用相应的操作 (⇧⌘P (Windows, Linux Ctrl+Shift+P))。

在您运行测试并覆盖后,您可以在不同的位置查看覆盖结果:
-
在测试覆盖视图中
树形视图显示了测试及其覆盖率百分比。颜色指示器也提供了关于覆盖率百分比的视觉提示。将鼠标悬停在每行上,以查看更多关于覆盖率结果的详细信息。

-
作为编辑器中的覆盖层
对于有测试覆盖的代码文件,编辑器会在 gutter 中显示颜色覆盖,以指示哪些行被测试覆盖或未被覆盖。当您将鼠标悬停在 gutter 上时,会发现对于被覆盖的行,还有一个表示该行执行次数的指示器。您还可以选择编辑器标题栏中的显示内联覆盖按钮或使用测试:显示内联覆盖命令(⌘; ⇧⌘I(Windows, Linux Ctrl+; Ctrl+Shift+I))来切换覆盖覆盖。

-
在资源管理器视图中,显示了您的代码文件的覆盖百分比
资源管理器视图显示了您的代码文件的覆盖百分比。将鼠标悬停在资源管理器中的文件或节点上,以查看更多有关覆盖结果的详细信息。

-
在差异编辑器中
如果你有一个差异编辑器打开,覆盖结果也会在差异编辑器中显示,类似于它们在编辑器中显示的方式。
-
在测试覆盖工具栏中
编辑器中的测试覆盖工具栏显示测试覆盖结果,允许您在未覆盖的代码块之间导航,并切换内联覆盖。使用以下启用测试覆盖工具栏
测试.覆盖.工具栏启用设置。
任务集成
在 VS Code 中,可以配置任务来在 VS Code 内运行脚本和启动进程,而无需进入命令行或编写新代码。在 VS Code 中,你可以定义一个默认的测试任务来运行你的测试,并可选地创建键盘快捷键来运行测试。
使用命令 任务:配置默认测试任务 来配置默认测试任务。VS Code 会尝试自动检测测试任务,例如基于你的 package.json文件。在您选择默认测试任务后,任务.json文件已打开,供您自定义任务。
以下代码片段显示了一个任务.json文件指定节点 -- 测试将命令作为默认测试任务。
{
"version": "2.0.0",
"tasks": [
{
"type": "npm",
"script": "test",
"group": {
"kind": "test",
"isDefault": true
},
"problemMatcher": [],
"label": "npm: test",
"detail": "node --test src/tests/**.js"
}
]
}
要运行测试任务,请使用命令 任务:运行测试任务 或 为该命令创建一个键盘快捷键。
了解更多关于使用和配置任务的信息。
目前,任务没有特殊集成到 VS Code 的测试功能中,因此在任务中运行测试不会更新用户界面。单独的测试扩展可以提供特定的测试自动化功能,以集成到用户界面中。
测试配置设置
有多个设置可以配置以自定义 VS Code 中的测试体验。每个语言扩展可能会提供特定于该语言测试的附加设置。以下是一些您可以配置的常见设置:
| 设置 ID | 细节 |
|---|---|
测试.计数徽章 |
控制活动栏上测试图标上的计数徽章 |
测试.边缘启用 |
配置是否在编辑器侧边栏中显示测试控制 |
测试.默认边缘点击动作 |
配置选择边缘测试控制时的默认操作 |
测试.覆盖进度条阈值 |
配置测试覆盖视图中覆盖条的阈值颜色 |
测试显示的覆盖百分比 |
配置在测试覆盖视图中显示的百分比值(总计、语句或最低)。 |
测试在资源管理器中显示代码覆盖情况 |
配置是否在资源管理器视图中显示覆盖率百分比 |
您可以在设置编辑器中找到所有与测试相关的设置 (⌘, (Windows, Linux Ctrl+,)).
下一步
-
了解更多关于 Copilot 和 VS Code 中的 AI 帮助测试
-
了解更多关于使用和配置任务的信息