feat(core): add Spring 5 / Spring Boot 2.x compatibility#40
Merged
Conversation
Replace direct call to BootstrapUtils.resolveTestContextBootstrapper() with reflection-based access. BootstrapUtils is package-private in Spring 5.x (made public in Spring 6), and the convenience overload accepting Class<?> was only added in Spring 6. The reflection helper tries the Spring 6+ public method first, then falls back to the Spring 5 two-step path (createBootstrapContext + resolveTestContextBootstrapper with BootstrapContext). Adds a Spring Boot 2.7 demo project to verify compatibility. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
- Replace #temporals.format() with pre-formatted string variable in summary.html (Thymeleaf 3.0.x lacks built-in #temporals support) - Add --add-opens java.base/java.util=ALL-UNNAMED to Failsafe argLine for the 2.7 demo (Thymeleaf 3.0.x OGNL needs reflective access on Java 17+) - Catch Exception (not just IOException) in report generation to prevent silent failures - Add stderr output in shutdown hook for better error visibility - Add mvnw wrapper to Spring Boot 2.7 demo - Add spring-boot-2.7-maven to CI matrix Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Add @WebMvcTest, @DirtiesContext, and RANDOM_PORT integration tests to exercise more distinct context configurations and improve profiler coverage on Spring 5. Update README to clarify Spring 5/6/7 compatibility. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replace direct call to BootstrapUtils.resolveTestContextBootstrapper() with reflection-based access. BootstrapUtils is package-private in Spring 5.x (made public in Spring 6), and the convenience overload accepting Class<?> was only added in Spring 6.
The reflection helper tries the Spring 6+ public method first, then falls back to the Spring 5 two-step path (createBootstrapContext + resolveTestContextBootstrapper with BootstrapContext).
Adds a Spring Boot 2.7 demo project to verify compatibility.