-
Notifications
You must be signed in to change notification settings - Fork 99
Add recipe to migrate JUnit 4 ExternalResource rules using jupiter-migrationsupport #880
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…gration support Implements HandleExternalResourceRules recipe to migrate JUnit 4 ExternalResource-based @rule and @ClassRule fields to JUnit 5 by adding @ExtendWith(ExternalResourceSupport.class) from junit-jupiter-migrationsupport. This provides a migration path for rules like TemporaryFolder and GrpcCleanupRule that extend ExternalResource but don't have direct JUnit 5 equivalents. Changes: - Add HandleExternalResourceRules recipe to detect ExternalResource-based rules - Add helper methods to Junit4Utils for checking @Rule/@ClassRule annotations - Add junit-jupiter-migrationsupport and grpc-testing dependencies for testing - Add comprehensive test coverage for field and method-based rules
src/main/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRules.java
Show resolved
Hide resolved
src/test/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRulesTest.java
Show resolved
Hide resolved
src/test/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRulesTest.java
Outdated
Show resolved
Hide resolved
src/test/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRulesTest.java
Outdated
Show resolved
Hide resolved
src/test/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRulesTest.java
Outdated
Show resolved
Hide resolved
src/test/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRulesTest.java
Outdated
Show resolved
Hide resolved
src/test/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRulesTest.java
Outdated
Show resolved
Hide resolved
src/test/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRulesTest.java
Outdated
Show resolved
Hide resolved
src/test/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRulesTest.java
Outdated
Show resolved
Hide resolved
src/test/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRulesTest.java
Outdated
Show resolved
Hide resolved
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
src/test/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRulesTest.java
Outdated
Show resolved
Hide resolved
src/test/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRulesTest.java
Outdated
Show resolved
Hide resolved
src/test/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRulesTest.java
Outdated
Show resolved
Hide resolved
src/test/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRulesTest.java
Outdated
Show resolved
Hide resolved
src/test/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRulesTest.java
Outdated
Show resolved
Hide resolved
src/test/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRulesTest.java
Outdated
Show resolved
Hide resolved
src/test/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRulesTest.java
Outdated
Show resolved
Hide resolved
src/test/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRulesTest.java
Outdated
Show resolved
Hide resolved
src/test/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRulesTest.java
Outdated
Show resolved
Hide resolved
src/test/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRulesTest.java
Outdated
Show resolved
Hide resolved
src/test/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRulesTest.java
Show resolved
Hide resolved
src/test/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRulesTest.java
Outdated
Show resolved
Hide resolved
src/test/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRulesTest.java
Outdated
Show resolved
Hide resolved
src/test/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRulesTest.java
Outdated
Show resolved
Hide resolved
src/test/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRulesTest.java
Outdated
Show resolved
Hide resolved
src/test/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRulesTest.java
Outdated
Show resolved
Hide resolved
src/test/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRulesTest.java
Outdated
Show resolved
Hide resolved
src/test/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRulesTest.java
Outdated
Show resolved
Hide resolved
src/test/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRulesTest.java
Outdated
Show resolved
Hide resolved
github suggestions Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
src/test/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRulesTest.java
Outdated
Show resolved
Hide resolved
src/main/java/org/openrewrite/java/testing/junit5/HandleExternalResourceRules.java
Outdated
Show resolved
Hide resolved
timtebeek
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot @amishra-u ; good to see these rules flow back to the project to convert any left over cases beyond what was covered already.
I've applied a few small changes, mostly to add preconditions and reduce the usage of Annotated.Matcher when service(AnnotationService) ought to be enough.
Implements HandleExternalResourceRules recipe to migrate JUnit 4 ExternalResource-based @rule and @ClassRule fields to JUnit 5 by adding @ExtendWith(ExternalResourceSupport.class) from
junit-jupiter-migrationsupport. This provides a migration path for rules like TemporaryFolder and GrpcCleanupRule that extend ExternalResource but don't have direct JUnit 5 equivalents.
Changes:
Checklist