JUnit5 Migration Hints for JUnit 4 Users

This is a living collection of topics/snippets that come up while migrating to / using JUnit5

Temporary Folders

What is the equivalent of ExternalResource and TemporaryFolder in JUnit 5?

In a Maven project you might want to add the migration support with:


Expected Exceptions

In JUnit 4 you would have used the @Test annotation’s field expected like this:

@Test(expected = IndexOutOfBoundsException.class) 
public void empty() { 
     new ArrayList<Object>().get(0); 

With Java 8 / JUnit 5 this field is no longer available. It has be superseded by Assertions.assertThrows().

public void empty() { 
    assertThrows(IndexOutOfBoundsException.class, () -> new ArrayList<>().get(0));

Support JUnit 5 test in a Gradle Project

User Guide

buildscript {
    repositories {
        // The following is only necessary if you want to use SNAPSHOT releases.
        // maven { url 'https://oss.sonatype.org/content/repositories/snapshots' }
    dependencies {
        classpath 'org.junit.platform:junit-platform-gradle-plugin:1.0.2'

apply plugin: 'org.junit.platform.gradle.plugin'

Then add the JUnit5 dependencies:

dependencies {

Ignored / Disabled tests

The pendant to @Ignore in JUnit 4 is org.junit.jupiter.api.Disabled. Detailed information is available in the section Annotations of the JUnit 5 User Guide

Happy Testing…

Other useful Junit 5 related resources

Show Comments