使用Visual Studio Code测试Java
在Visual Studio Code中测试Java是通过Java测试运行器扩展实现的。它是一个轻量级的扩展,用于运行和调试Java测试案例。
概述
该扩展支持以下测试框架:
Java 测试运行器 与 Red Hat 的 Java 语言支持 和 Java 调试器 扩展一起工作,提供以下功能:
- 运行/调试测试用例
- 定制测试配置
- 查看测试报告
- 在测试浏览器中查看测试
要求
- JDK(版本1.8或更高版本)
- Visual Studio Code(版本1.59.0或更高版本)
- Java扩展包
项目设置
注意:如果您已经在项目中设置好了Java测试框架,您可以跳到功能部分。
启用测试并添加测试框架 JAR 文件到您的项目
从Java版本0.34.0的测试运行器开始,您可以通过几个步骤在测试资源管理器中为您的非管理文件夹项目(没有任何构建工具的项目)启用测试框架:
注意:目前此功能仅支持不包含任何测试依赖项的非托管文件夹。
JUnit 4
Maven
将以下配置添加到您的pom.xml输入:
<依赖>
<组ID>junit</组ID>
<艺术ID>junit</艺术ID>
<版本>(YOUR_JUNIT_VERSION)</版本>
<范围>测试</范围>
</依赖>
Gradle
确保在你的文件中添加以下几行:build.gradle输入:
插件 {
java
}
依赖项 {
测试实现('junit:junit:(YOUR_JUNIT_VERSION)')
}
未管理文件夹
如果你的项目不使用任何构建工具,你可以通过测试资源管理器或者手动下载以下JAR文件并将其添加到项目类路径(通过设置java.项目.引用的库,检查依赖管理获取更多信息:
你可以查看官方 JUnit Wiki以获取有关如何设置 JUnit 4 的更多信息。
JUnit 5
JUnit 5团队提供了一组使用不同构建工具的示例项目。如果你的项目使用Maven或Gradle作为构建工具,请查看junit5-sample仓库。
未管理文件夹
如果你的项目不使用任何构建工具,你可以通过测试资源管理器或者手动将junit-platform-console-standalone JAR 包包含在项目类路径中(通过设置java.项目.引用的库,检查依赖管理获取更多信息)。
测试NG
Maven
将以下配置添加到您的pom.xml输入:
<依赖>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<版本>(YOUR_TESTNG_VERSION)</版本>
<范围>测试</范围>
</依赖>
Gradle
确保在你的文件中添加以下几行:build.gradle输入:
插件 {
java
}
依赖项 {
测试实现('org.testng:testng:(YOUR_TESTNG_VERSION)')
}
未管理文件夹
如果您的项目不使用任何构建工具,您可以启用TestNG,通过测试资源管理器或者手动下载以下JAR文件并将其添加到项目类路径中(通过设置java.项目.引用的库,检查依赖管理获取更多信息:
功能
运行/调试测试用例
Java 扩展的测试运行器将在类和方法定义的左侧生成快捷方式(绿色播放按钮)。要运行目标测试用例,请选择绿色播放按钮。您也可以右键单击它以查看更多选项。
测试浏览器
测试资源管理器是一个树形视图,用于显示您工作区中的所有测试用例。您可以在Visual Studio Code的活动栏左侧选择烧杯按钮来打开它。您还可以从此处运行/调试测试用例并查看其测试结果。
定制测试配置
有时您可能需要自定义配置来运行测试用例。要实现这一点,您可以将配置添加到您的工作区设置 在以下部分中:java.test.config输入:.

当前支持的配置是:
- 参数:指定将传递给测试运行器的命令行参数。
- 类路径:在该设置中定义的类路径将附加到已解析的类路径。
- env:通过键值对象指定在运行测试时的额外环境变量。
- envFile:指定包含环境变量定义的文件的绝对路径。
- modulePaths:在该设置中定义的模块路径将附加到已解析的模块路径。
- 名称:指定配置项的名称。您可以通过设置来设置默认配置名称
java.test.defaultConfig输入:. - preLaunchTask:指定在
任务.json(在工作区的.vscode文件夹)。该任务将在测试开始前启动。 - sourcePaths:在调试测试时指定额外的源路径。
- vmArgs:指定JVM的额外选项和系统属性。
- workingDirectory:在运行测试时指定工作目录。
- testKind:指定此测试配置的测试框架。支持的值是
junit,测试ng输入:. - 过滤器:指定测试过滤器。
- Tab:指定要包括或排除的标签。具有
!由于前缀将被 排除。注意:此设置仅在测试种类设置为junit
- Tab:指定要包括或排除的标签。具有
更多详细信息可以在 vscode-java-test Wiki 上找到。
查看测试结果
在运行/调试测试用例后,相关测试项的状态将在编辑器标记和测试资源管理器中更新。
你可以触发命令测试:查看输出来查看结果视图。你可以点击堆栈跟踪中的链接导航到源位置。
生成测试
该扩展提供了帮助你生成测试用例的功能。你可以在编辑器上下文菜单中找到它。选择源操作...,然后选择生成测试...。
如果你从主源代码(测试对象)触发此源操作,你将被要求输入测试类的完全限定名和你想要测试的方法。然后,扩展将为你生成测试代码:
如果你从测试源代码触发源操作,你将被问及希望添加哪种类型的测试方法。包括生命周期方法和测试方法:
测试导航
该扩展提供了帮助您在测试和测试主体之间导航的功能。如果您的源代码包含在src/main/java或src/test/java,你可以在编辑器上下文菜单中找到名为前往测试或前往测试对象的条目:
你也可以在命令面板中找到该命令 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 通过搜索 Java: 前往测试.
VS Code 测试命令
还有其他测试命令(例如,在当前文件中运行测试)可以通过在命令面板中搜索“Test:”找到(⇧⌘P(Windows, Linux Ctrl+Shift+P))。

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

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