使用 Visual Studio Code 测试 Java

在 Visual Studio Code 中测试 Java 由Test Runner for Java扩展启用。它是一个用于运行和调试 Java 测试用例的轻量级扩展。

概述

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

Test Runner for Java与 Red Hat 的 Java™ 语言支持Java 调试器扩展配合使用,可提供以下功能:

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

要求

  • JDK(版本 1.8 或更高版本)
  • Visual Studio Code(版本 1.59.0 或更高版本)
  • Java 扩展包

安装 Java 扩展包

项目设置

注意:如果您已经在项目中设置了 Java 测试框架,则可以跳到“功能”部分。

启用测试并将测试框架 JAR 添加到您的项目中

从 Test Runner for Java 版本 0.34.0 开始,您只需在测试资源管理器中执行几个步骤即可为非托管文件夹项目(没有任何构建工具的项目)启用测试框架:

注意:目前此功能仅支持不包含任何测试依赖项的非托管文件夹。

J单元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 的更多信息。

J单元5

JUnit 5 团队提供了一系列具有不同构建工具的示例项目。如果您的项目使用 Maven 或 Gradle 作为构建工具,请检查junit5-sample 存储库。

非托管文件夹

如果您的项目不使用任何构建工具,您可以通过测试资源管理器或手动将junit-platform-console-standalone JAR包含在项目类路径中来启用 JUnit 5(通过设置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,检查依赖项管理以获取更多信息):

特征

运行/调试测试用例

Test Runner for Java 扩展将在类和方法定义的左侧生成快捷方式(绿色播放按钮)。要运行目标测试用例,请选择绿色播放按钮。您还可以右键单击它以查看更多选项。

测试资源管理器

测试资源管理器是一个树视图,显示工作区中的所有测试用例。您可以选择 Visual Studio Code 左侧活动栏上的烧杯按钮将其打开。您还可以运行/调试您的测试用例并从那里查看其测试结果。

自定义测试配置

有时您可能需要自定义配置来运行测试用例。为此,您可以将配置添加到以下部分下的工作区设置java.test.config中。

自定义测试配置

目前支持的配置有:

  • args:指定将传递给测试运行程序的命令行参数。
  • classPaths:此设置中定义的类路径将附加到已解析的类路径中。
  • env:通过键值对象运行测试时指定额外的环境变量。
  • envFile:指定包含环境变量定义的文件的绝对路径。
  • modulePaths:此设置中定义的模块路径将附加到已解析的模块路径中。
  • name:指定配置项的名称。您可以通过设置来设置默认配置名称java.test.defaultConfig
  • preLaunchTasktasks.json :指定(在工作区的.vscode文件夹中)指定的任务的标签。该任务将在测试开始之前启动。
  • sourcePaths:调试测试时指定额外的源路径。
  • vmArgs:指定 JVM 的额外选项和系统属性。
  • 工作目录:指定运行测试时的工作目录。
  • testKind:指定此测试配置的目标测试框架。支持的值为junit, testng
  • 过滤器:指定测试过滤器。
    • Tags:指定要包含或排除的标签。!以为前缀的标签将被排除。注意:该设置仅在设置testKindjunit

更多详细信息可以在vscode-java-test Wiki上找到。

查看测试结果

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

您可以触发命令“测试:查看输出”来查看结果视图。您可以选择堆栈跟踪中的链接来导航到源位置。

生成测试

该扩展提供了帮助您搭建测试用例的功能。您可以在编辑器上下文菜单中找到该条目。选择源操作...,然后选择生成测试...。

如果您从主源代码(测试主题)触发此源操作,系统将询问您测试类的完全限定名称和要测试的方法。然后该扩展将为您生成测试代码:

如果您从测试源代码触发源操作,系统将询问您要添加哪种测试方法。包括生命周期方法和测试方法:

测试导航

该扩展提供了帮助您在测试和测试对象之间导航的功能。如果您的源代码包含在src/main/java或中,您可以在编辑器上下文菜单中找到名为“转到测试”“转到测试主题”的src/test/java条目:

您还可以通过搜索Java: Go to Test在命令面板 ( ⇧⌘P (Windows、Linux Ctrl+Shift+P ) ) 中找到该命令。

VS Code 测试命令

还有其他测试命令(例如,在当前文件中运行测试)可以通过在命令面板 ( ⇧⌘P (Windows、Linux Ctrl+Shift+P ))中搜索“测试:”来找到。

测试命令面板中的命令

VS Code 测试设置

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

在设置编辑器中测试设置

常问问题

如果您在使用扩展程序时遇到任何问题,您可以查看常见问题解答和我们的问题列表,以检查是否有解决您问题的答案。

贡献和反馈

如果您有兴趣提供反馈或直接为代码库做出贡献,请阅读为 Java 测试运行程序做出贡献,其中涵盖以下内容:

下一步

继续阅读以了解:

  • 调试- 了解如何使用 VS Code 调试 Java 项目。
  • Java 扩展- 了解更多有用的 VS Code Java 扩展。