目次
JUnit 5 のユーザーズガイドを読みました。 公式ドキュメントのうち、重要そうなところをピックアップしてまとめています。 そのため公式ドキュメントにあってこちらにない文章もあります。
1 概要
1.1 JUnit 5 とは
これまでの JUnit とは異なり、3つのサブプロジェクトで開発されている様々なモジュールから構成されています。
3つのサブモジュールとは JUnit Platform, JUnit Jupiter, JUnit Vintage を指します。
- JUnit Platform
-
JVM上でテスティングフレームワークを動作させるための基礎です。 TestEngine の API定義 と、 TestEngine を実行するためのコンソールランチャーを提供します。
- JUnit Jupiter
-
JUnit 5 でテストを書くための機能で、 TestEngine も提供します。
- JUnit Vintage
-
JUnit 3 や JUnit 4 のテストを実行するための TestEngine を提供します。
1.2 サポートする Java のバージョン
テスト実行時には Java 8 以上 のバージョンが必要です。
コンパイルは Java 8 以前 のバージョンでも可能です。
2 インストール
2.1 依存関係のメタデータ
2.1.1 JUnit Platform
Group ID
org.junit.platform
Version
1.3.2
Artifact IDs
- junit-platform-commons
-
JUnit 内部の共通ライブラリおよびユーティリティです。 JUnit 内部からの使用を前提としていますので、 テストを記述する際に直接使うことはありません。
- junit-platform-console
-
コンソールからのテスト実行をサポートしています。
- junit-platform-console-standalone
-
全ての依存関係を包含した実行可能な JAR を提供します。
- junit-platform-engine
-
テストエンジンのAPIです。
- junit-platform-launcher
-
テストプランの設定・起動のためのAPIです。 基本的にIDEやビルドツールによって使用されます。
- junit-platform-runner
-
JUnit 4 の環境でテストを実行するためのランナーです。
- junit-platform-suite-api
-
テストスイートの設定をするためのアノテーションです。
- junit-platform-surefire-provider
-
Maven でテストを実行するためのサポートです。
2.1.2. JUnit Jupiter
Group ID
org.junit.jupiter
Version
5.3.2
Artifact IDs
- junit-jupiter-api
-
テストを書いたり拡張したりするための Jupiter の API です。
- junit-jupiter-engine
-
JUnit TestEngine の実装で、 実行時のみ必要です。
- junit-jupiter-params
-
JUnit Jupiter でのパラメタライズドテストをサポートします。
- junit-jupiter-migrationsupport
-
JUnit から JUnit Jupiter へのマイグレーションをサポートします。 いくつかの JUnit 4 のルールを実行する際に必要です。
2.1.3 JUnit Vintage
Group ID
org.junit.vintage
Version
5.3.2
Artifact ID
- junit-vintage-engine
-
JUnit 3 や JUnit 4 といった 古い JUnit のテストエンジンの実装です。
2.1.4 部品表 (BOM)
部品表POMが次のMavenリポジトリで提供されています。 Gradle, Maven などでの依存関係管理を楽にします。
Group ID
org.junit
Artifact ID
junit-bom
Version
5.3.2
2.1.5 依存関係
上記の全ての Artifact は全て 次の @API Guardian JAR に依存しています。
@API Guardian
Group ID
org.apiguardian
Artifact ID
apiguardian-api
Version
1.0.0
また、上記 Artifact のほとんどが、 OpenTest4J に直接的または間接的に依存しています。
OpenTest4J
Groupo ID
org.opentest4j
Artifact ID
opentest4j
Version
1.1.1
2.3 JUnit Jupiter サンプルプロジェクト
junit5-samples リポジトリ には JUnit Jupiter または JUnit Vintage をベースとしたサンプルプロジェクトがあります。 build.gradle
や pom.xml
といったビルドスクリプトは下記リポジトリにまとめられています。
ビルドツール | メイン言語 | リポジトリ |
---|---|---|
Gradle | Java | junit5-jupiter-starter-gradle |
Gradle (Kotlin) | Kotlin | junit5-jupiter-starter-gradle-kotlin |
Gradle | Groovy | junit5-jupiter-starter-gradle-groovy |
Maven | Java | junit5-jupiter-starter-maven |
Ant | junit5-jupiter-starter-ant |