Skip to content

Commit 996709b

Browse files
committed
Add Mockito best practices to clear out MockitoSettings
Fixes #589
1 parent 2621b64 commit 996709b

File tree

2 files changed

+85
-0
lines changed

2 files changed

+85
-0
lines changed

src/main/resources/META-INF/rewrite/mockito.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,18 @@
1515
#
1616
---
1717
type: specs.openrewrite.org/v1beta/recipe
18+
name: org.openrewrite.java.testing.mockito.MockitoBestPractices
19+
displayName: Mockito best practices
20+
description: .
21+
tags:
22+
- testing
23+
- mockito
24+
recipeList:
25+
- org.openrewrite.java.testing.mockito.Mockito1to5Migration
26+
- org.openrewrite.java.RemoveAnnotation:
27+
annotationPattern: "@org.mockito.junit.jupiter.MockitoSettings(strictness=org.mockito.quality.Strictness.WARN)"
28+
---
29+
type: specs.openrewrite.org/v1beta/recipe
1830
name: org.openrewrite.java.testing.mockito.Mockito1to5Migration
1931
displayName: Mockito 5.x upgrade
2032
description: Upgrade Mockito from 1.x to 5.x.
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
package org.openrewrite.java.testing.mockito;
2+
3+
import org.junit.jupiter.api.Test;
4+
import org.openrewrite.DocumentExample;
5+
import org.openrewrite.InMemoryExecutionContext;
6+
import org.openrewrite.java.JavaParser;
7+
import org.openrewrite.test.RecipeSpec;
8+
import org.openrewrite.test.RewriteTest;
9+
10+
import static org.openrewrite.java.Assertions.java;
11+
12+
class RemoveMockitoSettingsTest implements RewriteTest {
13+
14+
@Override
15+
public void defaults(RecipeSpec spec) {
16+
spec
17+
.parser(JavaParser.fromJavaVersion()
18+
.classpathFromResources(new InMemoryExecutionContext(),
19+
"mockito-core", "mockito-junit-jupiter", "junit-jupiter-api"))
20+
.recipeFromResource("/META-INF/rewrite/mockito.yml", "org.openrewrite.java.testing.mockito.MockitoBestPractices");
21+
}
22+
23+
@Test
24+
@DocumentExample
25+
void removeMockitoSettings() {
26+
rewriteRun(
27+
//language=java
28+
java(
29+
"""
30+
import org.mockito.junit.jupiter.MockitoSettings;
31+
import org.mockito.quality.Strictness;
32+
@MockitoSettings(strictness = Strictness.WARN)
33+
class A {}
34+
""",
35+
"""
36+
class A {}
37+
"""
38+
)
39+
);
40+
}
41+
42+
@Test
43+
void removeMockitoSettingsFullyQualified() {
44+
rewriteRun(
45+
//language=java
46+
java(
47+
"""
48+
import org.mockito.junit.jupiter.MockitoSettings;
49+
@MockitoSettings(strictness = org.mockito.quality.Strictness.WARN)
50+
class A {}
51+
""",
52+
"""
53+
class A {}
54+
"""
55+
)
56+
);
57+
}
58+
59+
@Test
60+
void retainMisMatchedArgument() {
61+
rewriteRun(
62+
//language=java
63+
java(
64+
"""
65+
import org.mockito.junit.jupiter.MockitoSettings;
66+
import org.mockito.quality.Strictness;
67+
@MockitoSettings(strictness = Strictness.LENIENT)
68+
class A {}
69+
"""
70+
)
71+
);
72+
}
73+
}

0 commit comments

Comments
 (0)