Closed
Description
Sam Brannen opened SPR-13515 and commented
Status Quo
Except for Spring's legacy JUnit 3.8 based testing framework which is still used internally within the spring-orm
module, the Spring test suite was completely migrated to the JUnit 4 programming model in conjunction with #18091.
The reason the legacy testing framework is still based on JUnit 3.8 is that AbstractJpaTests
uses a ShadowingClassLoader
to load and execute the test in a different class loader.
Unfortunately, it is impossible to achieve the same results without introducing a custom JUnit Runner
.
Possible Solutions
- Introduce a custom
Runner
that reproduces the behavior inAbstractJpaTests
. - Migrate the concrete subclasses of
AbstractJpaTests
to JUnit 4 without the use of aShadowingClassLoader
.
Deliverables
- Remove
AbstractJpaTests
along with the remainder of the legacy JUnit 3.8 based testing framework in thespring-orm
module. - Revise all concrete subclasses of
AbstractJpaTests
accordingly.
Affects: 4.2 GA
Issue Links:
- Upgrade core framework build to JDK 17 #17778 Upgrade core framework build to JDK 11 ("is depended on by")
- Migrate remaining JUnit 3 based tests to JUnit 4 [SPR-13514] #18091 Migrate remaining JUnit 3 based tests to JUnit 4