用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 扩展包

项目设置

注意:如果你已经在项目中搭建了 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:指定包含或排除的标签。标签!因为前缀将被排除。注意:此设置仅在以下情况生效测试类设置为朱尼特

更多细节可见 vscode-java-test 维基

查看测试结果

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

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

生成测试

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

如果你从主源代码(测试对象)触发这个源作,系统会询问测试类的完整限定名称和你想测试的方法。扩展程序随后会为你生成测试代码:

如果你从测试源代码触发源代码,系统会询问你想添加哪些类型的测试方法。包括生命周期方法和测试方法:

测试导航

该扩展提供了帮助你在测试和测试对象之间导航的功能。如果你的源代码包含在src/main/javaSRC/测试/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 测试运行者》一文,内容涵盖了以下内容:

下一步

继续阅读,了解:

  • 调试——了解如何用VS Code调试你的Java项目。
  • Java扩展——了解更多VS Code上更实用的Java扩展。