Overview

Similar to the org.springframework.aot.test.build.TestClassesFinder from the Spring Native project, we need something that can scan the classpath (from classpath roots provided by the user or build tool) to locate Spring test classes.

Related Issues

  • 28204

  • 28205

  • 28825

Deliverables

  • [x] Introduce TestClassScanner in spring-test that effectively scans the classpath for Spring test classes using the Launcher API from the JUnit Platform (JUnit 5).
  • [x] Find JUnit Jupiter test classes annotated with @ExtendWith(SpringExtension.class).
  • [x] Find JUnit 4 test classes annotated with @RunWith(SpringRunner.class) or @RunWith(SpringJUnit4ClassRunner.class).
  • [x] Find other test classes (for example, TestNG) annotated with @ContextConfiguration or @BootstrapWith.
  • [x] Ensure that test classes are properly detected within JUnit Platform @Suite hierarchies.