[640] - check for junit4 mockito runners to add mockito-junit-jupiter #670
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.
What's changed?
Add
mockito-junit-jupiter
dependencyrewrite-testing-frameworks/src/main/resources/META-INF/rewrite/mockito.yml
Lines 171 to 177 in 6aa80c9
@MockitoExtension
didn't work becauseAddDependency
is a scanning recipe and scanning fororg.mockito.junit.jupiter.*
is performed before the package is added oneditSources
phase by RunnerToExtensionNow
onlyIfUsing
is looking for the initial runners that are present on thescanSources
phase.Note: if the old version of recipe is ran in two cycles then it adds
mockito-junit-jupiter
dependency in the second cycle.What's your motivation?
Fixes #640
Have you considered any alternatives or workarounds?
Alternatives considered:
RunnerToExtension
to handle addition of a dependency if needed. It contradicts the best practice If it can be declarative, it should be declarativeRunnerToExtension
recipe to cause another cycle. It contradicts the best practice Stay single cycleAny additional context
There is a similar
rewrite runners -> add dependency
sequence in vertx migration but it is looking fororg.vertx.testtools.VertxUnitRunner
which doesn't exist and it seems to be a separate issue.Checklist