Mockito 3.x migration from 1.x
Recipe ID
org.openrewrite.java.testing.mockito.Mockito1to3MigrationArtifactorg.openrewrite.recipe:rewrite-testing-frameworksUpgrade Mockito from 1.x to 3.x.
Composite recipemockitotestingMSAL
Add to your build
Get a download tokenThis recipe is Moderne licensed, so the token must belong to a Moderne customer. It replaces YOUR_DOWNLOAD_TOKEN below.
~/.gradle/gradle.properties
codeGenomeUsername=you@example.com
codeGenomeToken=YOUR_DOWNLOAD_TOKEN
build.gradle.kts
plugins {
id("org.openrewrite.rewrite") version("latest.release")
}
rewrite {
activeRecipe("org.openrewrite.java.testing.mockito.Mockito1to3Migration")
}
repositories {
mavenCentral()
maven {
url = uri("https://artifacts.codegenomeproject.org/maven")
credentials {
username = providers.gradleProperty("codeGenomeUsername").get()
password = providers.gradleProperty("codeGenomeToken").get()
}
}
}
dependencies {
rewrite("org.openrewrite.recipe:rewrite-testing-frameworks:3.47.0")
}
Then run
./gradlew rewriteRunUsage
This recipe has no required configuration options. You’ll need the Moderne CLI configured before running the command below.
mod run . --recipe org.openrewrite.java.testing.mockito.Mockito1to3MigrationIf the recipe isn’t available locally, install it with:
mod config recipes jar install org.openrewrite.recipe:rewrite-testing-frameworks:RELEASEDefinition
This recipe runs the following recipes in order.
- Change type
org.mockito.MockitoAnnotations.Mocktoorg.mockito.Mockorg.openrewrite.java.ChangeType - Replace Mockito 1.x
anyString()/any()withnullable(Class)org.openrewrite.java.testing.mockito.AnyToNullable - Change type
MatcherstoArgumentMatchersorg.openrewrite.java.ChangeType - Convert
ArgumentMatcher<T>anonymous class to lambdaorg.openrewrite.java.testing.mockito.ArgumentMatcherToLambda - Change method name
org.mockito.ArgumentMatchers anyVararg()toanyorg.openrewrite.java.ChangeMethodName - Change method name
org.mockito.ArgumentMatchers anyObject()toanyorg.openrewrite.java.ChangeMethodName - Change method name
org.mockito.ArgumentMatchers anyListOf(java.lang.Class)toanyListorg.openrewrite.java.ChangeMethodName - Delete method argument 0 in methods
org.mockito.ArgumentMatchers anyList(java.lang.Class)org.openrewrite.java.DeleteMethodArgument - Change method name
org.mockito.ArgumentMatchers anySetOf(java.lang.Class)toanySetorg.openrewrite.java.ChangeMethodName - Delete method argument 0 in methods
org.mockito.ArgumentMatchers anySet(java.lang.Class)org.openrewrite.java.DeleteMethodArgument - Change method name
org.mockito.ArgumentMatchers anyMapOf(java.lang.Class, java.lang.Class)toanyMaporg.openrewrite.java.ChangeMethodName - Delete method argument 0 in methods
org.mockito.ArgumentMatchers anyMap(java.lang.Class, java.lang.Class)org.openrewrite.java.DeleteMethodArgument - Delete method argument 0 in methods
org.mockito.ArgumentMatchers anyMap(java.lang.Class)org.openrewrite.java.DeleteMethodArgument - Change method name
org.mockito.ArgumentMatchers anyCollectionOf(java.lang.Class)toanyCollectionorg.openrewrite.java.ChangeMethodName - Delete method argument 0 in methods
org.mockito.ArgumentMatchers anyCollection(java.lang.Class)org.openrewrite.java.DeleteMethodArgument - Change method name
org.mockito.ArgumentMatchers anyIterableOf(java.lang.Class)toanyIterableorg.openrewrite.java.ChangeMethodName - Delete method argument 0 in methods
org.mockito.ArgumentMatchers anyIterable(java.lang.Class)org.openrewrite.java.DeleteMethodArgument - Delete method argument 0 in methods
org.mockito.ArgumentMatchers isNull(java.lang.Class)org.openrewrite.java.DeleteMethodArgument - Delete method argument 0 in methods
org.mockito.ArgumentMatchers notNull(java.lang.Class)org.openrewrite.java.DeleteMethodArgument - Reorder method arguments
org.openrewrite.java.ReorderMethodArguments - Replace
verifyZeroInteractions()withverifyNoMoreInteractions()org.openrewrite.java.testing.mockito.VerifyZeroToNoMoreInteractions - Change method name
org.mockito.Mockito verifyZeroInteractions(..)toverifyNoInteractionsorg.openrewrite.java.ChangeMethodName - Change method name
org.mockito.invocation.InvocationOnMock getArgumentAt(int, java.lang.Class)togetArgumentorg.openrewrite.java.ChangeMethodName - Change type
TooLittleActualInvocationstoTooFewActualInvocationsorg.openrewrite.java.ChangeType - Change type
org.mockito.configuration.AnnotationEnginetoorg.mockito.plugins.AnnotationEngineorg.openrewrite.java.ChangeType - Change type
InstantiatorProvidertoInstantiatorProvider2org.openrewrite.java.ChangeType - Change type
org.mockito.runners.MockitoJUnitRunnertoorg.mockito.junit.MockitoJUnitRunnerorg.openrewrite.java.ChangeType - Replace undeclared checked exceptions in
thenThrowwithRuntimeExceptionorg.openrewrite.java.testing.mockito.ThenThrowCheckedExceptionToRuntimeException - Cleanup Mockito imports
org.openrewrite.java.testing.mockito.CleanupMockitoImports - Use static form of Mockito
MockUtilorg.openrewrite.java.testing.mockito.MockUtilsToStatic - Replace PowerMock with raw Mockito
org.openrewrite.java.testing.mockito.ReplacePowerMockito - JUnit 4
MockitoJUnitto JUnit JupiterMockitoExtensionorg.openrewrite.java.testing.junit5.MockitoJUnitToMockitoExtension - Add
@MockitoSettings(strictness = Strictness.WARN)for legacy Mockito modulesorg.openrewrite.java.testing.mockito.AddMockitoSettingsWithWarnStrictnessForLegacyMockito - Replace
MockitoTestExecutionListener(JUnit Jupiter projects)org.openrewrite.java.testing.mockito.ReplaceMockitoTestExecutionListenerForJupiter - Replace
MockitoTestExecutionListener(JUnit 4 projects)org.openrewrite.java.testing.mockito.ReplaceMockitoTestExecutionListenerForJUnit4 - Replace
MockitoTestExecutionListener(TestNG projects)org.openrewrite.java.testing.mockito.ReplaceMockitoTestExecutionListenerForTestNG - Remove
MockitoAnnotations.initMocks(this)andopenMocks(this)if JUnit runners specifiedorg.openrewrite.java.testing.mockito.RemoveInitMocksIfRunnersSpecified - Remove
doNothing()for void methods on@Mockfieldsorg.openrewrite.java.testing.mockito.RemoveDoNothingForDefaultMocks - Change Gradle or Maven dependency
org.mockito:mockito-allorg.openrewrite.java.dependencies.ChangeDependency - Upgrade Gradle or Maven dependency versions
org.openrewrite.java.dependencies.UpgradeDependencyVersion - Upgrade Gradle or Maven dependency versions
org.openrewrite.java.dependencies.UpgradeDependencyVersion - Change method name
org.mockito.Mockito anyObject()toanyorg.openrewrite.java.ChangeMethodName
Data tables
Structured output this recipe can produce.
- Source files that had resultsSource files that were modified by the recipe run.
org.openrewrite.table.SourcesFileResults - Source files that had search resultsSearch results that were found during the recipe run.
org.openrewrite.table.SearchResults - Source files that errored on a recipeThe details of all errors produced by a recipe run.
org.openrewrite.table.SourcesFileErrors - Recipe performanceStatistics used in analyzing the performance of recipes.
org.openrewrite.table.RecipeRunStats