使用 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,其中涵蓋了以下內容:
後續步驟
繼續閱讀以瞭解: