このページの設定は古くなっており、JUnit公式のサンプルコードの pom.xml (Gradleなら build.gradle) ファイルの内容がよりシンプルになっているのでそちらを参照してください。
MavenプロジェクトでJUnit5を利用するための設定に関する自分用メモ(2019.1.6時点)
アノテーションやテストコードの書き方は説明しないので、こちらを参照すること
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>myTest</groupId>
<artifactId>myTest</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>11</java.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.3.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.3.2</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
JUnit5を動かすための最低条件
dependency(ライブラリー)
Junit Jupiter(org.junit.jupiter)の2つのモジュールを定義すれば、最低限Junit5でテストを書いて実行できる
- junit-jupiter-api -> アノテーションや基本的なアサーション(assertEquals/assertTrueなど)記述する
- junit-jupiter-engine -> テストを実行する
plugin
maven-surefire-pluginのver 2.22.0以降を使う。
*IDEでテストを実行するときは不要だが、mavenでtestを実行するときはsurefireプラグインが無いと、テストを実行しない。
その他の機能
アサーションライブラリ
assertThatやMatcherなどのアサーション機能を使いたい場合は、独自にサードパーティのアサーションライブラリ(AssertJ,Hamcrestなど)を追加する。
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.11.1</version>
<scope>test</scope>
</dependency>
パラメタライズドテスト
@ParametaraizedTestなどを利用したい場合は、juit-jupiter-paramsを追加することで利用できる。
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>5.3.2</version>
<scope>test</scope>
</dependency>
IntelliJ IDEAでの実行
最新バージョン(執筆時点で2018.3)の場合、junit-jupiter-apiだけ定義すれば良い。
その他のIDEでJUnit5を実行するために必要なライブラリ(junit-platform-launcher, junit-jupiter-engine, and junit-vintage-engine)は、バンドルされているため、実行バージョンを変えたい時だけ定義すれば良い。
参考
JUnit 5 User Guide
JUnit 4で消耗しているあなたに贈るJUnit 5入門
JUnit5メモ(Hishidama's JUnit5 Memo)
junit5-samples/junit5-jupiter-starter-maven/