使用 Visual Studio Code 进行 Java 测试
Visual Studio Code 中的 Java 测试由 Test Runner for Java 扩展启用。它是一个轻量级的扩展,用于运行和调试 Java 测试用例。
概述
该扩展支持以下测试框架:
The Test Runner for Java works with the Language Support for Java™ by Red Hat and Debugger for Java extensions to provide the following features
- 运行/调试测试用例
- 自定义测试配置
- 查看测试报告
- 在测试资源管理器中查看测试
要求
- JDK (1.8 或更高版本)
- Visual Studio Code (1.59.0 或更高版本)
- Extension Pack for Java
项目设置
注意:如果您已经在项目中设置了 Java 测试框架,则可以跳至 功能 部分。
启用测试并将测试框架 JAR 添加到项目中
从 Test Runner for Java 版本 0.34.0 开始,您只需在 Testing Explorer 中执行几个简单的步骤,即可为未管理的文件夹项目(没有构建工具的项目)启用测试框架。
注意:目前此功能仅支持不包含任何测试依赖项的未管理文件夹。
JUnit 4
Maven
将以下配置添加到您的 pom.xml 文件中
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>(YOUR_JUNIT_VERSION)</version>
<scope>test</scope>
</dependency>
Gradle
确保以下行已添加到您的 build.gradle 文件中
plugins {
java
}
dependencies {
testImplementation('junit:junit:(YOUR_JUNIT_VERSION)')
}
未管理文件夹
如果您的项目未使用任何构建工具,您可以通过 Testing Explorer 启用 JUnit 4,或者手动下载以下 JAR 并将它们添加到项目类路径中(通过设置 java.project.referencedLibraries,有关更多信息,请查看 依赖管理)。
有关如何设置 JUnit 4 的更多信息,您可以查看 官方 JUnit Wiki。
JUnit 5
JUnit 5 团队提供了各种构建工具的示例项目集合。如果您的项目使用 Maven 或 Gradle 作为构建工具,请查看 junit5-sample 存储库。
未管理文件夹
如果您的项目未使用任何构建工具,您可以通过 Testing Explorer 启用 JUnit 5,或者手动将 junit-platform-console-standalone JAR 包含在项目类路径中(通过设置 java.project.referencedLibraries,有关更多信息,请查看 依赖管理)。
TestNG
Maven
将以下配置添加到您的 pom.xml 文件中
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>(YOUR_TESTNG_VERSION)</version>
<scope>test</scope>
</dependency>
Gradle
确保以下行已添加到您的 build.gradle 文件中
plugins {
java
}
dependencies {
testImplementation('org.testng:testng:(YOUR_TESTNG_VERSION)')
}
未管理文件夹
如果您的项目未使用任何构建工具,您可以通过 Testing Explorer 启用 TestNG,或者手动下载以下 JAR 并将它们添加到项目类路径中(通过设置 java.project.referencedLibraries,有关更多信息,请查看 依赖管理)。
功能
运行/调试测试用例
Test Runner for Java 扩展将在类和方法定义的左侧生成快捷方式(绿色的播放按钮)。要运行目标测试用例,请选择绿色的播放按钮。您也可以右键单击它以查看更多选项。
Testing Explorer
Testing Explorer 是一个树状视图,用于显示工作区中的所有测试用例。您可以选择 Visual Studio Code 左侧活动栏上的烧杯图标来打开它。您也可以从那里运行/调试您的测试用例并查看其测试结果。
自定义测试配置
有时您可能希望自定义配置来运行测试用例。为此,您可以在工作区的 设置 中,在以下部分下添加配置:java.test.config。

当前支持的配置有
- args:指定将传递给测试运行器的命令行参数。
- classPaths:在此设置中定义的类路径将附加到解析后的类路径。
- env:指定运行测试时的额外环境变量,以键值对象的形式。
- envFile:指定一个包含环境变量定义的文件的绝对路径。
- modulePaths:在此设置中定义的模块路径将附加到解析后的模块路径。
- name:指定配置项的名称。您可以通过设置
java.test.defaultConfig来设置默认配置名称。 - preLaunchTask:指定
tasks.json(在工作区的.vscode文件夹中)中定义的任务的标签。该任务将在测试开始前启动。 - sourcePaths:指定调试测试时的额外源路径。
- vmArgs:为 JVM 指定额外的选项和系统属性。
- workingDirectory:指定运行测试时的工作目录。
- testKind:指定此测试配置的目标测试框架。支持的值为
junit、testng。 - filters:指定测试过滤器。
- tags:指定要包含或排除的标签。带有
!前缀的标签将被排除。注意:此设置仅在testKind设置为junit时生效。
- tags:指定要包含或排除的标签。带有
有关更多详细信息,请参阅 vscode-java-test Wiki。
查看测试结果
运行/调试测试用例后,相关测试项的状态将在编辑器装饰和 Testing Explorer 中更新。
您可以触发命令 Test: Peek Output 来查看输出视图。您可以选择堆栈跟踪中的链接来导航到源位置。
生成测试
该扩展提供了帮助您脚手架测试用例的功能。您可以在编辑器上下文菜单中找到入口。选择 Source Action...,然后选择 Generate Tests...。
如果您从主源文件(测试主题)触发此源操作,系统会询问您测试类的完全限定名称以及您想要测试的方法。然后,扩展将为您生成测试代码。
如果您从测试源文件触发源操作,系统会询问您要添加哪种类型的测试方法。包括生命周期方法和测试方法。
测试导航
该扩展提供了帮助您在测试和测试主题之间导航的功能。如果您的源文件位于 src/main/java 或 src/test/java 中,您可以在编辑器上下文菜单中找到名为 Go to Test 或 Go to Test Subject 的条目。
您还可以通过搜索 Java: Go to Test 在命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))中找到该命令。
VS Code 测试命令
还有其他测试命令(例如,Run Tests in Current File),可以通过在命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))中搜索“Test:”来找到。

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

常见问题
如果您在使用扩展时遇到任何问题,可以查看 FAQ 和我们的 问题列表,以检查是否有您问题的答案。
贡献与反馈
如果您有兴趣提供反馈或直接为代码库做贡献,请阅读 Contributing to Test Runner for Java,其中涵盖了以下内容:
后续步骤
继续阅读以了解: