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)')
}
管理されていないフォルダー
プロジェクトでビルドツールを使用しない場合は、テストエクスプローラーを使用して、または以下の JAR を手動でダウンロードしてプロジェクトのクラスパスに追加することで (java.project.referencedLibraries
の設定を介して、詳細については「依存関係の管理」を参照)、JUnit 4 を有効にできます。
JUnit 4 のセットアップ方法の詳細については、公式 JUnit Wiki を参照してください。
JUnit 5
JUnit 5 チームは、さまざまなビルドツールを使用したサンプルプロジェクトのコレクションを提供しています。プロジェクトでビルドツールとして Maven または Gradle を使用している場合は、junit5-sample リポジトリを確認してください。
管理されていないフォルダー
プロジェクトでビルドツールを使用しない場合は、テストエクスプローラーを使用して、またはjunit-platform-console-standalone JAR を手動でプロジェクトのクラスパスに含めることで (java.project.referencedLibraries
の設定を介して、詳細については「依存関係の管理」を参照)、JUnit 5 を有効にできます。
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)')
}
管理されていないフォルダー
プロジェクトでビルドツールを使用しない場合は、テストエクスプローラーを使用して、または以下の JAR を手動でダウンロードしてプロジェクトのクラスパスに追加することで (java.project.referencedLibraries
の設定を介して、詳細については「依存関係の管理」を参照)、TestNG を有効にできます。
機能
テストケースの実行/デバッグ
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 をトリガーして結果ビューをプレビューできます。スタックトレース内のリンクを選択すると、ソースの場所に移動できます。
テストを生成する
この拡張機能は、テストケースのスキャフォールディングを支援する機能を提供します。エディターのコンテキストメニューにそのエントリがあります。ソースアクション... を選択し、次に テストを生成... を選択します。
このソースアクションをメインソースコード (テスト対象) からトリガーすると、テストクラスの完全修飾名とテストしたいメソッドを尋ねられます。拡張機能はその後、テストコードを生成します
テストソースコードからソースアクションをトリガーすると、追加したいテストメソッドの種類を尋ねられます。これにはライフサイクルメソッドとテストメソッドが含まれます
テストナビゲーション
この拡張機能は、テストとテスト対象の間を移動するのに役立つ機能を提供します。ソースコードが src/main/java
または src/test/java
に含まれている場合、エディターのコンテキストメニューに テストへ移動 または テスト対象へ移動 というエントリがあります
コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) で「Java: Go to Test」を検索してコマンドを見つけることもできます。
VS Code のテストコマンド
コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) で「Test:」と検索すると、他のテストコマンド (例: 現在のファイルでテストを実行) を見つけることができます。
VS Code のテスト設定
設定エディター (⌘, (Windows、Linux Ctrl+,)) で「testing」と検索すると、テストに特化した VS Code の設定を見つけることができます。
FAQ
拡張機能の使用中に問題が発生した場合は、FAQ と当社の課題リストを確認して、問題の解決策があるかどうかを確認できます。
貢献とフィードバック
フィードバックを提供したり、コードベースに直接貢献したりすることに興味がある場合は、以下をカバーするTest Runner for Java への貢献をお読みください。
次のステップ
さらに読む
- デバッグ - VS Code で Java プロジェクトをデバッグする方法をご覧ください。
- Java 用拡張機能 - VS Code のより便利な Java 拡張機能について学びましょう。