Skip to content

Commit 2476394

Browse files
wanger26wilkinsona
authored andcommitted
Deprecate @MockBean and @SpyBean
- Deprecate Deprecate @MockBean and @SpyBean in favor of Spring Framework 6.2's @MockitoBean and @MockitoSpy - Migrate usages of @MockBean and @SpyBean to @MockitoBean and @MockitoSpy Signed-off-by: Jakob Wanger <[email protected]> See gh-39864
1 parent acdaa6d commit 2476394

File tree

38 files changed

+87
-33
lines changed

38 files changed

+87
-33
lines changed

buildSrc/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ new File(projectDir.parentFile, "gradle.properties").withInputStream {
2222
}
2323
}
2424
versions["jackson"] = "2.15.3"
25-
versions["springFramework"] = "6.0.12"
25+
versions["springFramework"] = "6.2.0-SNAPSHOT"
2626
ext.set("versions", versions)
2727
if (versions.springFramework.contains("-")) {
2828
repositories {

spring-boot-project/spring-boot-actuator-autoconfigure/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,7 @@ dependencies {
177177
testImplementation("org.springframework.restdocs:spring-restdocs-webtestclient")
178178
testImplementation("org.springframework.security:spring-security-test")
179179
testImplementation("org.yaml:snakeyaml")
180+
testImplementation("org.springframework:spring-test")
180181

181182
testRuntimeOnly("jakarta.management.j2ee:jakarta.management.j2ee-api")
182183
testRuntimeOnly("jakarta.transaction:jakarta.transaction-api")

spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/documentation/AuditEventsEndpointDocumentationTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@
2626
import org.springframework.boot.actuate.audit.AuditEvent;
2727
import org.springframework.boot.actuate.audit.AuditEventRepository;
2828
import org.springframework.boot.actuate.audit.AuditEventsEndpoint;
29-
import org.springframework.boot.test.mock.mockito.MockBean;
3029
import org.springframework.context.annotation.Bean;
3130
import org.springframework.context.annotation.Configuration;
3231
import org.springframework.context.annotation.Import;
32+
import org.springframework.test.bean.override.mockito.MockitoBean;
3333

3434
import static org.assertj.core.api.Assertions.assertThat;
3535
import static org.mockito.ArgumentMatchers.any;
@@ -48,7 +48,7 @@
4848
*/
4949
class AuditEventsEndpointDocumentationTests extends MockMvcEndpointDocumentationTests {
5050

51-
@MockBean
51+
@MockitoBean
5252
private AuditEventRepository repository;
5353

5454
@Test

spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/documentation/HttpExchangesEndpointDocumentationTests.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import org.springframework.context.annotation.Import;
4242
import org.springframework.http.HttpHeaders;
4343
import org.springframework.restdocs.payload.JsonFieldType;
44+
import org.springframework.test.bean.override.mockito.MockitoBean;
4445

4546
import static org.assertj.core.api.Assertions.assertThat;
4647
import static org.mockito.BDDMockito.given;
@@ -56,7 +57,7 @@
5657
*/
5758
class HttpExchangesEndpointDocumentationTests extends MockMvcEndpointDocumentationTests {
5859

59-
@MockBean
60+
@MockitoBean
6061
private HttpExchangeRepository repository;
6162

6263
@Test

spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/documentation/LoggersEndpointDocumentationTests.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import org.springframework.restdocs.mockmvc.MockMvcRestDocumentation;
3939
import org.springframework.restdocs.payload.FieldDescriptor;
4040
import org.springframework.restdocs.payload.JsonFieldType;
41+
import org.springframework.test.bean.override.mockito.MockitoBean;
4142

4243
import static org.assertj.core.api.Assertions.assertThat;
4344
import static org.mockito.BDDMockito.given;
@@ -62,7 +63,7 @@ class LoggersEndpointDocumentationTests extends MockMvcEndpointDocumentationTest
6263
.type(JsonFieldType.STRING)
6364
.optional(), fieldWithPath("members").description("Loggers that are part of this group"));
6465

65-
@MockBean
66+
@MockitoBean
6667
private LoggingSystem loggingSystem;
6768

6869
@Autowired

spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/documentation/QuartzEndpointDocumentationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ class QuartzEndpointDocumentationTests extends MockMvcEndpointDocumentationTests
178178
.type(JsonFieldType.OBJECT)
179179
.description("Job data map keyed by name, if any.") };
180180

181-
@MockBean
181+
@MockitoBean
182182
private Scheduler scheduler;
183183

184184
@Test

spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/documentation/SessionsEndpointDocumentationTests.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import org.springframework.session.FindByIndexNameSessionRepository;
3636
import org.springframework.session.MapSession;
3737
import org.springframework.session.Session;
38+
import org.springframework.test.bean.override.mockito.MockitoBean;
3839
import org.springframework.test.context.TestPropertySource;
3940

4041
import static org.assertj.core.api.Assertions.assertThat;
@@ -72,7 +73,7 @@ class SessionsEndpointDocumentationTests extends MockMvcEndpointDocumentationTes
7273
.description("Maximum permitted period of inactivity, in seconds, before the session will expire."),
7374
fieldWithPath("expired").description("Whether the session has expired."));
7475

75-
@MockBean
76+
@MockitoBean
7677
private FindByIndexNameSessionRepository<Session> sessionRepository;
7778

7879
@Test

spring-boot-project/spring-boot-docs/src/docs/antora/modules/reference/pages/features/kotlin.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ JUnit 5 enables a test class to be instantiated once and reused for all of the c
145145
This makes it possible to use `@BeforeAll` and `@AfterAll` annotations on non-static methods, which is a good fit for Kotlin.
146146

147147
To mock Kotlin classes, https://mockk.io/[MockK] is recommended.
148-
If you need the `MockK` equivalent of the Mockito specific xref:testing/spring-boot-applications.adoc#testing.spring-boot-applications.mocking-beans[`@MockBean` and `@SpyBean` annotations], you can use https://github.com/Ninja-Squad/springmockk[SpringMockK] which provides similar `@MockkBean` and `@SpykBean` annotations.
148+
If you need the `MockK` equivalent of the Mockito specific xref:testing/spring-boot-applications.adoc#testing.spring-boot-applications.mocking-beans[`@MockitoBean` and `@MockitoSpyBean` annotations], you can use https://github.com/Ninja-Squad/springmockk[SpringMockK] which provides similar `@MockkBean` and `@SpykBean` annotations.
149149

150150

151151

spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/testing/springbootapplications/springmvctests/MyControllerTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020

2121
import org.springframework.beans.factory.annotation.Autowired;
2222
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
23-
import org.springframework.boot.test.mock.mockito.MockBean;
2423
import org.springframework.http.MediaType;
24+
import org.springframework.test.bean.override.mockito.MockitoBean;
2525
import org.springframework.test.web.servlet.assertj.MockMvcTester;
2626

2727
import static org.assertj.core.api.Assertions.assertThat;
@@ -33,7 +33,7 @@ class MyControllerTests {
3333
@Autowired
3434
private MockMvcTester mvc;
3535

36-
@MockBean
36+
@MockitoBean
3737
private UserVehicleService userVehicleService;
3838

3939
@Test

spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/testing/springbootapplications/springmvctests/MyHtmlUnitTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
import org.springframework.beans.factory.annotation.Autowired;
2424
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
25-
import org.springframework.boot.test.mock.mockito.MockBean;
25+
import org.springframework.test.bean.override.mockito.MockitoBean;
2626

2727
import static org.assertj.core.api.Assertions.assertThat;
2828
import static org.mockito.BDDMockito.given;
@@ -33,7 +33,7 @@ class MyHtmlUnitTests {
3333
@Autowired
3434
private WebClient webClient;
3535

36-
@MockBean
36+
@MockitoBean
3737
private UserVehicleService userVehicleService;
3838

3939
@Test

0 commit comments

Comments
 (0)