I like having an easy way to run all tests in a specific package path. I will here show an example of how to create a “RunAllTests” class to use in Spring Boot 2 and JUnit 5 (Jupiter):
package com.niklasottosson.myapp;
import org.junit.platform.runner.JUnitPlatform;
import org.junit.platform.suite.api.SelectPackages;
import org.junit.runner.RunWith;
/**
* Test class to run all unit tests.
*/
@RunWith(JUnitPlatform.class)
@SelectPackages("com.niklasottosson.myapp.tests")
public class RunAllTests {
}
This will tell JUnit to search the files in the package described (and below) in the @SelectPackages annotation for tests to run
For Spring Boot 2.3.8 the normal “spring-boot-starter-test” dependency was not enough to get the JUnitPlatform into my app (for the @RunWith annotation), so I had to add the following dependency to my pom.xml:
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-runner</artifactId>
<version>1.2.0</version>
<scope>test</scope>
</dependency>
After all is in place I can run the RunAllUnitTests class and all selected tests runs
Tested on Spring Boot v2.3.8, IntelliJ v2020.3 and JUnit v5 with JUnitPlattform v1.2.0