用Visual Studio Code测试Java。
Visual Studio Code 中的 Java 测试由 Test Runner for Java 扩展支持。它是一个轻量级扩展,用于运行和调试 Java 测试用例。
概述
该扩展支持以下测试框架:
Java 测试运行者与 Red Hat 的 Java™ 语言支持和 Java 调试器扩展合作,提供以下功能:
- 运行/调试测试用例
- 自定义测试配置
- 查看测试报告
- 在测试资源管理器中查看测试
要求
- JDK(版本1.8或更高版本)
- Visual Studio Code(版本 1.59.0 或更高版本)
- Java 扩展包
项目设置
注意:如果你已经在项目中搭建了 Java 测试框架,可以跳到功能部分。
启用测试并将测试框架 JAR 添加到你的项目中
从 Test Runner for Java 0.34.0 版本开始,你只需在测试资源管理器中作几步,即可为你的非托管文件夹项目(一个没有任何构建工具的项目)启用测试框架:
注意:目前该功能仅支持不包含任何测试依赖的非托管文件夹。
JUnit 4
梅文
将以下配置添加到您的pom.xml:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>(YOUR_JUNIT_VERSION)</version>
<scope>test</scope>
</dependency>
格拉德勒
确保在你的中加入以下行build.gradle:
plugins {
java
}
dependencies {
testImplementation('junit:junit:(YOUR_JUNIT_VERSION)')
}
未管理文件夹
如果你的项目没有使用任何构建工具,可以通过测试资源管理器启用 JUnit 4,或者手动下载以下 JAR,并通过设置将它们添加到项目类路径中java.project.referencedLibraries,更多信息请参见依赖管理):
你可以查看官方的 JUnit Wiki,了解更多关于如何设置 JUnit 4 的信息。
JUnit 5
JUnit 5团队提供了一组使用不同构建工具的示例项目。如果你的项目使用 Maven 或 Gradle 作为构建工具,可以查看 junit5-sample 仓库。
未管理文件夹
如果你的项目没有使用任何构建工具,可以通过测试资源管理器启用 JUnit 5,或者通过 setting 手动在项目类路径中包含 junit-platform-console-standalone JAR。java.project.referencedLibraries,更多信息请参见依赖管理)。
测试NG
梅文
将以下配置添加到您的pom.xml:
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>(YOUR_TESTNG_VERSION)</version>
<scope>test</scope>
</dependency>
格拉德勒
确保在你的中加入以下行build.gradle:
plugins {
java
}
dependencies {
testImplementation('org.testng:testng:(YOUR_TESTNG_VERSION)')
}
未管理文件夹
如果你的项目没有使用任何构建工具,可以通过测试资源管理器启用 TestNG,或者手动下载以下 JAR 并添加到项目类路径(通过设置)java.project.referencedLibraries,更多信息请参见依赖管理):
特色
运行/调试测试用例
Java 测试运行者扩展会在类和方法定义的左侧生成快捷键(绿色播放按钮)。要运行目标测试案例,请选择绿色播放按钮。你也可以右键点击它查看更多选项。
测试探索器
测试资源管理器是一个树状视图,可以显示你工作区中的所有测试用例。你可以选择Visual Studio Code左侧活动栏上的烧杯按钮来打开它。你也可以运行/调试你的测试用例,并从那里查看测试结果。
自定义测试配置
有时你可能想自定义配置以运行测试用例。为此,你可以在工作区设置中以下部分添加配置:java.test.config.

目前支持的配置有:
- args:指定将传递给测试运行者的命令行参数。
- classPaths:本环境中定义的类路径将附加到已解析的类路径上。
- 环境:通过键值对象运行测试时指定额外的环境变量。
- envFile:指定包含环境变量定义的文件的绝对路径。
- modulePaths:本设置中定义的 modulepaths 会附加到已解析的 modulepaths。
- 名称:指定配置项的名称。你可以通过设置默认配置名
java.test.defaultConfig. - preLaunchTask:指定任务的标签
tasks.json(在工作区.vscode文件夹)。该任务将在测试开始前启动。 - sourcePaths:调试测试时指定额外的源路径。
- vmArgs:为JVM指定额外的选项和系统属性。
- workingDirectory:运行测试时指定工作目录。
- testKind:为该测试配置指定目标测试框架。支持的值有
朱尼特,测试. - 过滤器:指定测试过滤器。
- Tab:指定包含或排除的标签。标签
!因为前缀将被排除。注意:此设置仅在以下情况生效测试类设置为朱尼特
- Tab:指定包含或排除的标签。标签
更多细节可见 vscode-java-test 维基。
查看测试结果
运行/调试测试用例后,相关测试项目的状态会在编辑器装饰和测试资源管理器中更新。
你可以触发命令“测试:查看输出”来查看结果视图。你可以在栈追踪中选择链接,导航到源位置。
生成测试
该扩展提供了帮助你搭建支架测试用例的功能。你可以在编辑器的上下文菜单中找到这个条目。选择源作......然后选择生成测试......。
如果你从主源代码(测试对象)触发这个源作,系统会询问测试类的完整限定名称和你想测试的方法。扩展程序随后会为你生成测试代码:
如果你从测试源代码触发源代码,系统会询问你想添加哪些类型的测试方法。包括生命周期方法和测试方法:
测试导航
该扩展提供了帮助你在测试和测试对象之间导航的功能。如果你的源代码包含在src/main/java或SRC/测试/Java你可以在编辑器的右键菜单中找到名为“前往测试”或“前往测试对象”的条目:
你也可以在命令面板(⇧⌘P,Windows,Linux Ctrl+Shift+P)中搜索Java:前往测试中找到该命令。
VS Code 测试命令
还有其他测试命令(例如,在当前文件中运行测试),可以通过在命令面板中搜索“Test:”(Windows,Linux Ctrl+Shift+P))找到。

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

常见问题
如果你在使用扩展时遇到任何问题,可以查看常见问题解答和我们的问题清单,看看是否有解决方案。
贡献与反馈
如果您有兴趣提供反馈或直接贡献代码库,请阅读《贡献给 Java 测试运行者》一文,内容涵盖了以下内容:
下一步
继续阅读,了解: