Visual Studio Code で Java をテストする
Visual Studio Code での Java テストは、Test Runner for Java 拡張機能によって有効になります。これは、Java テストケースを実行およびデバッグするための軽量な拡張機能です。
概要
この拡張機能は、以下のテストフレームワークをサポートしています
Test Runner for Java は、Language Support for Java™ by Red Hat および Debugger for Java 拡張機能と連携して、以下の機能を提供します
- テストケースの実行/デバッグ
- テスト設定のカスタマイズ
- テストレポートの表示
- テスト エクスプローラーでのテストの表示
要件
- JDK (バージョン 1.8 以降)
- Visual Studio Code (バージョン 1.59.0 以降)
- Extension Pack for Java
Extension Pack for Java のインストール
プロジェクトのセットアップ
注意: プロジェクトに Java テストフレームワークを既にセットアップしている場合は、機能セクションにスキップできます。
プロジェクトでのテストの有効化とテストフレームワーク JAR の追加
Test Runner for Java バージョン 0.34.0 以降では、テストエクスプローラーでいくつかの手順を実行するだけで、アンマネージドフォルダープロジェクト (ビルドツールを使用しないプロジェクト) のテストフレームワークを有効にできます。
注意: 現在、この機能は、テスト依存関係を含まないアンマネージドフォルダーのみをサポートしています。
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)')
}
アンマネージドフォルダー
プロジェクトでビルドツールを使用しない場合は、テストエクスプローラー経由で JUnit 4 を有効にするか、以下の JAR を手動でダウンロードしてプロジェクトのクラスパスに追加できます (java.project.referencedLibraries の設定経由。詳細については依存関係管理を参照してください)。
JUnit 4 のセットアップ方法に関する詳細については、公式の JUnit Wiki を確認してください。
JUnit 5
JUnit 5 チームは、さまざまなビルドツールを使用したサンプルプロジェクトのコレクションを提供しています。プロジェクトで Maven または Gradle をビルドツールとして使用している場合は、junit5-sample リポジトリを確認してください。
アンマネージドフォルダー
プロジェクトでビルドツールを使用しない場合は、テストエクスプローラー経由で 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)')
}
アンマネージドフォルダー
プロジェクトでビルドツールを使用しない場合は、テストエクスプローラー経由で TestNG を有効にするか、以下の JAR を手動でダウンロードしてプロジェクトのクラスパスに追加できます (java.project.referencedLibraries の設定経由。詳細については依存関係管理を参照してください)。
機能
テストケースの実行/デバッグ
Test Runner for Java 拡張機能は、クラスおよびメソッド定義の左側にショートカット (緑色の再生ボタン) を生成します。対象のテストケースを実行するには、緑色の再生ボタンを選択します。右クリックしてさらに多くのオプションを表示することもできます。
テストエクスプローラー
テストエクスプローラーは、ワークスペース内のすべてのテストケースを表示するツリービューです。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 を参照してください。
テスト結果の表示
テストケースの実行/デバッグ後、関連するテスト項目の状態はエディターの装飾とテストエクスプローラーの両方で更新されます。
コマンド Test: Peek Output をトリガーして結果ビューをピーク表示できます。スタックトレース内のリンクを選択すると、ソースの場所に移動できます。
テストを生成する
この拡張機能は、テストケースをスキャフォールドするのに役立つ機能を提供します。エディターのコンテキストメニューにエントリがあります。Source Action... を選択し、次に Generate Tests... を選択します。
メインソースコード (テスト対象) からこのソースアクションをトリガーすると、テストクラスの完全修飾名とテストしたいメソッドが尋ねられます。その後、拡張機能がテストコードを生成します。
テストソースコードからソースアクションをトリガーすると、追加したいテストメソッドの種類が尋ねられます。これにはライフサイクルメソッドとテストメソッドが含まれます。
テストナビゲーション
この拡張機能は、テストとテスト対象の間をナビゲートするのに役立つ機能を提供します。ソースコードが src/main/java または src/test/java に含まれている場合、エディターのコンテキストメニューに Go to Test または Go to Test Subject という名前のエントリがあります。
コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) で Java: Go to Test を検索してコマンドを見つけることもできます。
VS Code テストコマンド
コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) で 'Test:' を検索すると、他のテストコマンド (例: Run Tests in Current File) を見つけることができます。

VS Code テスト設定
設定エディター (⌘, (Windows、Linux Ctrl+,)) で 'testing' を検索すると、テストに特化した VS Code 設定を見つけることができます。

FAQ
拡張機能の使用中に問題が発生した場合は、FAQ および issue list を確認して、問題の解決策があるかどうかを確認してください。
貢献とフィードバック
フィードバックを提供したり、直接コードベースに貢献したりすることに興味がある場合は、以下の内容を網羅したTest Runner for Java への貢献をお読みください。
次のステップ
詳細については、以下をお読みください。
- デバッグ - VS Code で Java プロジェクトをデバッグする方法について学びます。
- Java 用拡張機能 - VS Code 用のより便利な Java 拡張機能について学びます。