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