Mavenモジュールjunit-jupiter-api
とjunit-jupiter-engine
の違いは何ですか? build.gradle
に両方の依存関係を含める必要がありますか?
のような両方の依存関係を記述する必要がありますか
testCompile("org.junit.jupiter:junit-jupiter-engine:${junitVersion}")
testCompile("org.junit.jupiter:junit-jupiter-api:${junitVersion}")
または
testCompile("org.junit.jupiter:junit-jupiter-engine:${junitVersion}")
十分ですか?
junit-vintage-engine
に依存関係を追加する必要がありますか?
ドキュメント から:
junit-jupiter-api
テストと拡張機能を作成するためのJUnit Jupiter API。
junit-jupiter-engine
JUnit Jupiterテストエンジンの実装。実行時にのみ必要です。
junit-vintage-engine
新しいJUnitプラットフォームでビンテージJUnitテスト、つまりJUnit 3またはJUnit 4スタイルで作成されたテストを実行できるJUnit Vintageテストエンジンの実装。
そう ...
junit-jupiter-api
およびjunit-jupiter-engine
JUnit5テストを作成して実行するにはjunit-vintage-engine
if(a)JUnit5andで実行している場合(b)テストケースでJUnit4の構成/注釈/ルールなどを使用する場合JUnit 5.4では、これは簡略化されています。詳細については、 this answer を参照してください。
ただ、junit-jupiter-api
はjunit-jupiter-engine
Mavenリポジトリのサブ依存関係として含まれています。したがって、両方を取得するには、junit-jupiter-engine
を追加するだけで十分です。 gradleも同じだと思います。 https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-engine/5.1.1
junit-jupiter
アーティファクトJUnit 5テストを記述することが目的の場合、JUnit 5.4は より簡単なMaven構成を提供します。 junit-jupiter
という名前の集約アーティファクトを指定するだけです。
<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.4.2</version>
<scope>test</scope>
</dependency>
この集約アーティファクトは、便宜上、次の3つのアーティファクトを自動的にプルします。
junit-jupiter-api
(コンパイルの依存関係)junit-jupiter-params
(コンパイルの依存関係)junit-jupiter-engine
(ランタイム依存関係)プロジェクトでは、次のことも行われます。
上記は、新しいJupiterパラダイムに基づいてJUnit 5のテストを作成および実行するために必要なものです。
プロジェクトに引き続き実行したいJUnit 3または4テストがある場合、JUnit Vintage Engine、 junit-vintage-engine
に別の依存関係を追加します。 IBMの チュートリアル を参照してください。
<!-- https://mvnrepository.com/artifact/org.junit.vintage/junit-vintage-engine -->
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<version>5.4.2</version>
<scope>test</scope>
</dependency>
あなたの質問に対する最も正確な答えは junit-team/junit5-samples リポジトリにあります。 Gradleの場合は junit5-jupiter-starter-gradle を、mavenの場合は junit5-jupiter-starter-maven をご覧ください。
両方の例でわかるように、必要な依存関係はjunit-jupiter
。