org.openrewrite.java.testing.mockito.Mockito1to3Migration
Upgrade Mockito from 1.x to 3.x.
- testing
- mockito
GitHub, Issue Tracker, Maven Central
- groupId: org.openrewrite.recipe
- artifactId: rewrite-testing-frameworks
- version: 2.0.2
{% tabs %} {% tab title="mockito/example/MockitoVarargMatcherTest.java" %}
{% code title="mockito/example/MockitoVarargMatcherTest.java" %}
package mockito.example;
import java.util.List;
import java.util.Map;
import java.util.Set;
import static org.mockito.ArgumentMatchers.anyListOf;
import static org.mockito.ArgumentMatchers.anySetOf;
import static org.mockito.ArgumentMatchers.anyMapOf;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
public class MockitoVarargMatcherTest {
public static class Foo {
public boolean addList(List<String> strings) { return true; }
public boolean addSet(Set<String> strings) { return true; }
public boolean addMap(Map<String, String> stringStringMap) { return true; }
}
public void usesVarargMatcher() {
Foo mockFoo = mock(Foo.class);
when(mockFoo.addList(anyListOf(String.class))).thenReturn(true);
when(mockFoo.addSet(anySetOf(String.class))).thenReturn(true);
when(mockFoo.addMap(anyMapOf(String.class, String.class))).thenReturn(true);
}
}
{% endcode %}
{% code title="mockito/example/MockitoVarargMatcherTest.java" %}
package mockito.example;
import java.util.List;
import java.util.Map;
import java.util.Set;
import static org.mockito.ArgumentMatchers.anyList;
import static org.mockito.ArgumentMatchers.anySet;
import static org.mockito.ArgumentMatchers.anyMap;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
public class MockitoVarargMatcherTest {
public static class Foo {
public boolean addList(List<String> strings) { return true; }
public boolean addSet(Set<String> strings) { return true; }
public boolean addMap(Map<String, String> stringStringMap) { return true; }
}
public void usesVarargMatcher() {
Foo mockFoo = mock(Foo.class);
when(mockFoo.addList(anyList())).thenReturn(true);
when(mockFoo.addSet(anySet())).thenReturn(true);
when(mockFoo.addMap(anyMap())).thenReturn(true);
}
}
{% endcode %}
{% endtab %} {% tab title="Diff" %} {% code %}
--- mockito/example/MockitoVarargMatcherTest.java
+++ mockito/example/MockitoVarargMatcherTest.java
@@ -7,3 +7,3 @@
import java.util.Set;
-import static org.mockito.ArgumentMatchers.anyListOf;
-import static org.mockito.ArgumentMatchers.anySetOf;
-import static org.mockito.ArgumentMatchers.anyMapOf;
+import static org.mockito.ArgumentMatchers.anyList;
+import static org.mockito.ArgumentMatchers.anySet;
+import static org.mockito.ArgumentMatchers.anyMap;
import static org.mockito.Mockito.mock;
@@ -21,3 +21,3 @@
public void usesVarargMatcher() {
Foo mockFoo = mock(Foo.class);
- when(mockFoo.addList(anyListOf(String.class))).thenReturn(true);
- when(mockFoo.addSet(anySetOf(String.class))).thenReturn(true);
- when(mockFoo.addMap(anyMapOf(String.class, String.class))).thenReturn(true);
+ when(mockFoo.addList(anyList())).thenReturn(true);
+ when(mockFoo.addSet(anySet())).thenReturn(true);
+ when(mockFoo.addMap(anyMap())).thenReturn(true);
}
{% endcode %} {% endtab %} {% endtabs %}
{% tabs %} {% tab title="mockito/example/MockitoVarargMatcherTest.java" %}
{% code title="mockito/example/MockitoVarargMatcherTest.java" %}
package mockito.example;
import java.util.List;
import java.util.Map;
import java.util.Set;
import static org.mockito.ArgumentMatchers.anyListOf;
import static org.mockito.ArgumentMatchers.anySetOf;
import static org.mockito.ArgumentMatchers.anyMapOf;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
public class MockitoVarargMatcherTest {
public static class Foo {
public boolean addList(List<String> strings) { return true; }
public boolean addSet(Set<String> strings) { return true; }
public boolean addMap(Map<String, String> stringStringMap) { return true; }
}
public void usesVarargMatcher() {
Foo mockFoo = mock(Foo.class);
when(mockFoo.addList(anyListOf(String.class))).thenReturn(true);
when(mockFoo.addSet(anySetOf(String.class))).thenReturn(true);
when(mockFoo.addMap(anyMapOf(String.class, String.class))).thenReturn(true);
}
}
{% endcode %}
{% code title="mockito/example/MockitoVarargMatcherTest.java" %}
package mockito.example;
import java.util.List;
import java.util.Map;
import java.util.Set;
import static org.mockito.ArgumentMatchers.anyList;
import static org.mockito.ArgumentMatchers.anySet;
import static org.mockito.ArgumentMatchers.anyMap;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
public class MockitoVarargMatcherTest {
public static class Foo {
public boolean addList(List<String> strings) { return true; }
public boolean addSet(Set<String> strings) { return true; }
public boolean addMap(Map<String, String> stringStringMap) { return true; }
}
public void usesVarargMatcher() {
Foo mockFoo = mock(Foo.class);
when(mockFoo.addList(anyList())).thenReturn(true);
when(mockFoo.addSet(anySet())).thenReturn(true);
when(mockFoo.addMap(anyMap())).thenReturn(true);
}
}
{% endcode %}
{% endtab %} {% tab title="Diff" %} {% code %}
--- mockito/example/MockitoVarargMatcherTest.java
+++ mockito/example/MockitoVarargMatcherTest.java
@@ -7,3 +7,3 @@
import java.util.Set;
-import static org.mockito.ArgumentMatchers.anyListOf;
-import static org.mockito.ArgumentMatchers.anySetOf;
-import static org.mockito.ArgumentMatchers.anyMapOf;
+import static org.mockito.ArgumentMatchers.anyList;
+import static org.mockito.ArgumentMatchers.anySet;
+import static org.mockito.ArgumentMatchers.anyMap;
import static org.mockito.Mockito.mock;
@@ -21,3 +21,3 @@
public void usesVarargMatcher() {
Foo mockFoo = mock(Foo.class);
- when(mockFoo.addList(anyListOf(String.class))).thenReturn(true);
- when(mockFoo.addSet(anySetOf(String.class))).thenReturn(true);
- when(mockFoo.addMap(anyMapOf(String.class, String.class))).thenReturn(true);
+ when(mockFoo.addList(anyList())).thenReturn(true);
+ when(mockFoo.addSet(anySet())).thenReturn(true);
+ when(mockFoo.addMap(anyMap())).thenReturn(true);
}
{% endcode %} {% endtab %} {% endtabs %}
This recipe has no required configuration options. It can be activated by adding a dependency on org.openrewrite.recipe:rewrite-testing-frameworks:2.0.2
in your build file or by running a shell command (in which case no build changes are needed):
{% tabs %}
{% tab title="Gradle" %}
{% code title="build.gradle" %}
plugins {
id("org.openrewrite.rewrite") version("6.1.4")
}
rewrite {
activeRecipe("org.openrewrite.java.testing.mockito.Mockito1to3Migration")
}
repositories {
mavenCentral()
}
dependencies {
rewrite("org.openrewrite.recipe:rewrite-testing-frameworks:2.0.2")
}
{% endcode %} {% endtab %} {% tab title="Maven POM" %} {% code title="pom.xml" %}
<project>
<build>
<plugins>
<plugin>
<groupId>org.openrewrite.maven</groupId>
<artifactId>rewrite-maven-plugin</artifactId>
<version>5.2.4</version>
<configuration>
<activeRecipes>
<recipe>org.openrewrite.java.testing.mockito.Mockito1to3Migration</recipe>
</activeRecipes>
</configuration>
<dependencies>
<dependency>
<groupId>org.openrewrite.recipe</groupId>
<artifactId>rewrite-testing-frameworks</artifactId>
<version>2.0.2</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>
{% endcode %} {% endtab %}
{% tab title="Maven Command Line" %} {% code title="shell" %} You will need to have Maven installed on your machine before you can run the following command.
mvn -U org.openrewrite.maven:rewrite-maven-plugin:run \
-Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-testing-frameworks:RELEASE \
-Drewrite.activeRecipes=org.openrewrite.java.testing.mockito.Mockito1to3Migration
{% endcode %} {% endtab %} {% endtabs %}
{% tabs %} {% tab title="Recipe List" %}
- Change type
- oldFullyQualifiedTypeName:
org.mockito.MockitoAnnotations.Mock
- newFullyQualifiedTypeName:
org.mockito.Mock
- oldFullyQualifiedTypeName:
- Replace Mockito 1.x
any(Class)
andanyString()
withnullable(Class)
- Change type
- oldFullyQualifiedTypeName:
org.mockito.Matchers
- newFullyQualifiedTypeName:
org.mockito.ArgumentMatchers
- oldFullyQualifiedTypeName:
- Change method name
- methodPattern:
org.mockito.ArgumentMatchers anyVararg()
- newMethodName:
any
- methodPattern:
- Change method name
- methodPattern:
org.mockito.ArgumentMatchers anyObject()
- newMethodName:
any
- methodPattern:
- Change method name
- methodPattern:
org.mockito.ArgumentMatchers anyListOf(java.lang.Class)
- newMethodName:
anyList
- methodPattern:
- Delete method argument
- methodPattern:
org.mockito.ArgumentMatchers anyList(java.lang.Class)
- argumentIndex:
0
- methodPattern:
- Change method name
- methodPattern:
org.mockito.ArgumentMatchers anySetOf(java.lang.Class)
- newMethodName:
anySet
- methodPattern:
- Delete method argument
- methodPattern:
org.mockito.ArgumentMatchers anySet(java.lang.Class)
- argumentIndex:
0
- methodPattern:
- Change method name
- methodPattern:
org.mockito.ArgumentMatchers anyMapOf(java.lang.Class, java.lang.Class)
- newMethodName:
anyMap
- methodPattern:
- Delete method argument
- methodPattern:
org.mockito.ArgumentMatchers anyMap(java.lang.Class, java.lang.Class)
- argumentIndex:
0
- methodPattern:
- Delete method argument
- methodPattern:
org.mockito.ArgumentMatchers anyMap(java.lang.Class, java.lang.Class)
- argumentIndex:
0
- methodPattern:
- Change method name
- methodPattern:
org.mockito.ArgumentMatchers anyCollectionOf()
- newMethodName:
anyCollection
- methodPattern:
- Change method name
- methodPattern:
org.mockito.ArgumentMatchers anyIterableOf()
- newMethodName:
anyIterable
- methodPattern:
- Delete method argument
- methodPattern:
org.mockito.ArgumentMatchers isNull(java.lang.Class)
- argumentIndex:
0
- methodPattern:
- Delete method argument
- methodPattern:
org.mockito.ArgumentMatchers notNull(java.lang.Class)
- argumentIndex:
0
- methodPattern:
- Reorder method arguments
- methodPattern:
org.mockito.MockedStatic verify(org.mockito.verification.VerificationMode, org.mockito.MockedStatic.Verification)
- newParameterNames:
[verification, mode]
- oldParameterNames:
[mode, verification]
- methodPattern:
- Change method name
- methodPattern:
org.mockito.Mockito verifyZeroInteractions(..)
- newMethodName:
verifyNoInteractions
- methodPattern:
- Change method name
- methodPattern:
org.mockito.invocation.InvocationOnMock getArgumentAt(int, java.lang.Class)
- newMethodName:
getArgument
- methodPattern:
- Change type
- oldFullyQualifiedTypeName:
org.mockito.exceptions.verification.TooLittleActualInvocations
- newFullyQualifiedTypeName:
org.mockito.exceptions.verification.TooFewActualInvocations
- oldFullyQualifiedTypeName:
- Change type
- oldFullyQualifiedTypeName:
org.mockito.configuration.AnnotationEngine
- newFullyQualifiedTypeName:
org.mockito.plugins.AnnotationEngine
- oldFullyQualifiedTypeName:
- Change type
- oldFullyQualifiedTypeName:
org.mockito.plugins.InstantiatorProvider
- newFullyQualifiedTypeName:
org.mockito.plugins.InstantiatorProvider2
- oldFullyQualifiedTypeName:
- Change type
- oldFullyQualifiedTypeName:
org.mockito.runners.MockitoJUnitRunner
- newFullyQualifiedTypeName:
org.mockito.junit.MockitoJUnitRunner
- oldFullyQualifiedTypeName:
- Cleanup Mockito imports
- Use static form of Mockito
MockUtil
- JUnit 4
MockitoJUnit
to JUnit JupiterMockitoExtension
- Add Gradle or Maven dependency
- groupId:
org.mockito
- artifactId:
mockito-junit-jupiter
- version:
3.x
- onlyIfUsing:
org.mockito.junit.jupiter.MockitoExtension
- acceptTransitive:
true
- groupId:
- Upgrade Gradle or Maven dependency versions
- groupId:
org.mockito
- artifactId:
*
- newVersion:
3.x
- groupId:
{% endtab %}
{% tab title="Yaml Recipe List" %}
---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.java.testing.mockito.Mockito1to3Migration
displayName: Mockito 3.x migration from 1.x
description: Upgrade Mockito from 1.x to 3.x.
tags:
- testing
- mockito
recipeList:
- org.openrewrite.java.ChangeType:
oldFullyQualifiedTypeName: org.mockito.MockitoAnnotations.Mock
newFullyQualifiedTypeName: org.mockito.Mock
- org.openrewrite.java.testing.mockito.AnyToNullable
- org.openrewrite.java.ChangeType:
oldFullyQualifiedTypeName: org.mockito.Matchers
newFullyQualifiedTypeName: org.mockito.ArgumentMatchers
- org.openrewrite.java.ChangeMethodName:
methodPattern: org.mockito.ArgumentMatchers anyVararg()
newMethodName: any
- org.openrewrite.java.ChangeMethodName:
methodPattern: org.mockito.ArgumentMatchers anyObject()
newMethodName: any
- org.openrewrite.java.ChangeMethodName:
methodPattern: org.mockito.ArgumentMatchers anyListOf(java.lang.Class)
newMethodName: anyList
- org.openrewrite.java.DeleteMethodArgument:
methodPattern: org.mockito.ArgumentMatchers anyList(java.lang.Class)
argumentIndex: 0
- org.openrewrite.java.ChangeMethodName:
methodPattern: org.mockito.ArgumentMatchers anySetOf(java.lang.Class)
newMethodName: anySet
- org.openrewrite.java.DeleteMethodArgument:
methodPattern: org.mockito.ArgumentMatchers anySet(java.lang.Class)
argumentIndex: 0
- org.openrewrite.java.ChangeMethodName:
methodPattern: org.mockito.ArgumentMatchers anyMapOf(java.lang.Class, java.lang.Class)
newMethodName: anyMap
- org.openrewrite.java.DeleteMethodArgument:
methodPattern: org.mockito.ArgumentMatchers anyMap(java.lang.Class, java.lang.Class)
argumentIndex: 0
- org.openrewrite.java.DeleteMethodArgument:
methodPattern: org.mockito.ArgumentMatchers anyMap(java.lang.Class, java.lang.Class)
argumentIndex: 0
- org.openrewrite.java.ChangeMethodName:
methodPattern: org.mockito.ArgumentMatchers anyCollectionOf()
newMethodName: anyCollection
- org.openrewrite.java.ChangeMethodName:
methodPattern: org.mockito.ArgumentMatchers anyIterableOf()
newMethodName: anyIterable
- org.openrewrite.java.DeleteMethodArgument:
methodPattern: org.mockito.ArgumentMatchers isNull(java.lang.Class)
argumentIndex: 0
- org.openrewrite.java.DeleteMethodArgument:
methodPattern: org.mockito.ArgumentMatchers notNull(java.lang.Class)
argumentIndex: 0
- org.openrewrite.java.ReorderMethodArguments:
methodPattern: org.mockito.MockedStatic verify(org.mockito.verification.VerificationMode, org.mockito.MockedStatic.Verification)
newParameterNames: [verification, mode]
oldParameterNames: [mode, verification]
- org.openrewrite.java.ChangeMethodName:
methodPattern: org.mockito.Mockito verifyZeroInteractions(..)
newMethodName: verifyNoInteractions
- org.openrewrite.java.ChangeMethodName:
methodPattern: org.mockito.invocation.InvocationOnMock getArgumentAt(int, java.lang.Class)
newMethodName: getArgument
- org.openrewrite.java.ChangeType:
oldFullyQualifiedTypeName: org.mockito.exceptions.verification.TooLittleActualInvocations
newFullyQualifiedTypeName: org.mockito.exceptions.verification.TooFewActualInvocations
- org.openrewrite.java.ChangeType:
oldFullyQualifiedTypeName: org.mockito.configuration.AnnotationEngine
newFullyQualifiedTypeName: org.mockito.plugins.AnnotationEngine
- org.openrewrite.java.ChangeType:
oldFullyQualifiedTypeName: org.mockito.plugins.InstantiatorProvider
newFullyQualifiedTypeName: org.mockito.plugins.InstantiatorProvider2
- org.openrewrite.java.ChangeType:
oldFullyQualifiedTypeName: org.mockito.runners.MockitoJUnitRunner
newFullyQualifiedTypeName: org.mockito.junit.MockitoJUnitRunner
- org.openrewrite.java.testing.mockito.CleanupMockitoImports
- org.openrewrite.java.testing.mockito.MockUtilsToStatic
- org.openrewrite.java.testing.junit5.MockitoJUnitToMockitoExtension
- org.openrewrite.java.dependencies.AddDependency:
groupId: org.mockito
artifactId: mockito-junit-jupiter
version: 3.x
onlyIfUsing: org.mockito.junit.jupiter.MockitoExtension
acceptTransitive: true
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
groupId: org.mockito
artifactId: *
newVersion: 3.x
{% endtab %} {% endtabs %}
- Tracey Yoshima
- Tim te Beek
- Greg Adams
- Knut Wannheden
- Patrick Way
- Jonathan Schneider
- Greg Adams
- Patrick
- Sam Snyder
- Aaron Gershman
- Tim te Beek
- Jonathan Schnéider
The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories.
Please contact Moderne for more information about safely running the recipes on your own codebase in a private SaaS.