現已釋出!閱讀關於 11 月新增功能和修復的內容。

使用 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

  • 執行/除錯測試用例
  • 自定義測試配置
  • 檢視測試報告
  • 在測試資源管理器中檢視測試

要求

安裝 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

Customize test configurations

當前支援的配置有

  • args:指定將傳遞給測試執行器的命令列引數。
  • classPaths:在此設定中定義的類路徑將附加到解析後的類路徑。
  • env:指定執行測試時的額外環境變數,以鍵值物件的形式。
  • envFile:指定一個包含環境變數定義的檔案的絕對路徑。
  • modulePaths:在此設定中定義的模組路徑將附加到解析後的模組路徑。
  • name:指定配置項的名稱。您可以透過設定 java.test.defaultConfig 來設定預設配置名稱。
  • preLaunchTask:指定 tasks.json(在工作區的 .vscode 資料夾中)中定義的任務的標籤。該任務將在測試開始前啟動。
  • sourcePaths:指定除錯測試時的額外源路徑。
  • vmArgs:為 JVM 指定額外的選項和系統屬性。
  • workingDirectory:指定執行測試時的工作目錄。
  • testKind:指定此測試配置的目標測試框架。支援的值為 junittestng
  • filters:指定測試過濾器。
    • tags:指定要包含或排除的標籤。帶有 ! 字首的標籤將被排除。注意:此設定僅在 testKind 設定為 junit 時生效。

有關更多詳細資訊,請參閱 vscode-java-test Wiki

檢視測試結果

執行/除錯測試用例後,相關測試項的狀態將在編輯器裝飾和 Testing Explorer 中更新。

您可以觸發命令 Test: Peek Output 來檢視輸出檢視。您可以選擇堆疊跟蹤中的連結來導航到源位置。

生成測試

該擴充套件提供了幫助您腳手架測試用例的功能。您可以在編輯器上下文選單中找到入口。選擇 Source Action...,然後選擇 Generate Tests...

如果您從主原始檔(測試主題)觸發此源操作,系統會詢問您測試類的完全限定名稱以及您想要測試的方法。然後,擴充套件將為您生成測試程式碼。

如果您從測試原始檔觸發源操作,系統會詢問您要新增哪種型別的測試方法。包括生命週期方法和測試方法。

測試導航

該擴充套件提供了幫助您在測試和測試主題之間導航的功能。如果您的原始檔位於 src/main/javasrc/test/java 中,您可以在編輯器上下文選單中找到名為 Go to TestGo 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:”來找到。

Testing commands in the Command Palette

VS Code 測試設定

有一些特定於 VS Code 測試的設定,可以透過在設定編輯器(⌘, (Windows, Linux Ctrl+,))中搜索“testing”來找到。

Testing settings in the Settings editor

常見問題

如果您在使用擴充套件時遇到任何問題,可以檢視 FAQ 和我們的 問題列表,以檢查是否有您問題的答案。

貢獻與反饋

如果您有興趣提供反饋或直接為程式碼庫做貢獻,請閱讀 Contributing to Test Runner for Java,其中涵蓋了以下內容:

後續步驟

繼續閱讀以瞭解:

  • 除錯 - 瞭解如何在 VS Code 中除錯您的 Java 專案。
  • Java 擴充套件 - 瞭解更多有用的 VS Code Java 擴充套件。
© . This site is unofficial and not affiliated with Microsoft.