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)')
}
アンマネージドフォルダー
プロジェクトでビルドツールを使用していない場合は、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 という名前のエントリがあります。
コマンドパレット (⇧⌘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 と課題リストを確認して、問題に対する回答があるかどうかを確認してください。
貢献とフィードバック
フィードバックを提供したり、コードベースに直接貢献したりすることに関心がある場合は、以下の内容をカバーするTest Runner for Java への貢献をお読みください。
次のステップ
さらに読む
- デバッグ - VS Code で Java プロジェクトをデバッグする方法をご覧ください。
- Java 用拡張機能 - VS Code 用のさらに便利な Java 拡張機能について学びましょう。