JUnit 5テスト実行方法 - ConsoleLauncher, Gradle
ConsoleLauncherの使い方
JUnit 5を実行するためのコマンドラインツールとして、ConsoleLauncherが用意されている。JARファイルとして配布されているため、Maven Central Repositoryからダウンロードして使用する。この例ではバージョン1.9.1を使用した。
テスト実行方法
テストクラスは通常、build/classes/java/testまたはtarget/test-classesに配置される。
テストクラスパス上のすべてのテストを実行する:
$ java -jar junit-platform-console-standalone-1.9.1.jar \
--classpath build/classes/java/test \
--scan-classpath
--classpathは-cpに短縮できる。JUnit 5のクラスはstandalone JARに含まれており、-cpにはテストで使用する追加依存関係を指定できる。
特定クラスを実行する:
$ java -jar junit-platform-console-standalone-1.9.1.jar \
-cp build/classes/java/test \
--select-class com.devkuma.junit5.JUnit5Test
--select-classは-cに短縮できる。--select-packageでパッケージを選択したり、--include-classnameと正規表現でクラス名を絞り込むこともできる。
テスト実行出力
テスト結果はコンソールに出力される。成功、失敗、失敗詳細、コンテナ数、テスト数などが含まれる。
コマンドヘルプ
ConsoleLauncherには他にも多くのオプションがある。次のコマンドで確認できる。
$ java -jar junit-platform-console-standalone-1.9.1.jar --help
Gradleでのテスト実行
多くの場合、テストは使用しているビルドツールから実行する。Gradleは4.6からJUnit 5の実行を標準でサポートしている。
Gradle設定
GradleはJUnit 4やTestNGなど他のテストフレームワークもサポートする。JUnit 5を使う場合は、useJUnitPlatform()を明示的に宣言する。
build.gradle
test {
useJUnitPlatform()
}
テストコード実行
すべてのテストが成功した場合、GradleはBUILD SUCCESSFULを出力する。失敗が含まれる場合、testタスクは失敗し、失敗したテスト名とbuild/reports/tests/test/index.htmlなどのレポートパスが表示される。
静的ネストクラスはテストとして実行できるが、通常の内部クラスはデフォルトでは実行されない。