Browse Source

Merge branch '2.3.x' into 2.4.x

Closes gh-25513
pull/25519/head
Andy Wilkinson 5 years ago
parent
commit
2f95c1e2c8
  1. 4
      spring-boot-project/spring-boot-docs/src/docs/asciidoc/spring-boot-features.adoc
  2. 11
      spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/mock/mockito/MockitoTestExecutionListener.java
  3. 5
      spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/mock/mockito/ResetMocksTestExecutionListener.java

4
spring-boot-project/spring-boot-docs/src/docs/asciidoc/spring-boot-features.adoc

@ -7149,11 +7149,11 @@ Mock beans are automatically reset after each test method. @@ -7149,11 +7149,11 @@ Mock beans are automatically reset after each test method.
[NOTE]
====
If your test uses one of Spring Boot's test annotations (such as `@SpringBootTest`), this feature is automatically enabled.
To use this feature with a different arrangement, a listener must be explicitly added, as shown in the following example:
To use this feature with a different arrangement, listeners must be explicitly added, as shown in the following example:
[source,java,indent=0]
----
@TestExecutionListeners(MockitoTestExecutionListener.class)
@TestExecutionListeners({ MockitoTestExecutionListener.class, ResetMocksTestExecutionListener.class })
----
====

11
spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/mock/mockito/MockitoTestExecutionListener.java

@ -33,13 +33,18 @@ import org.springframework.util.ReflectionUtils; @@ -33,13 +33,18 @@ import org.springframework.util.ReflectionUtils;
import org.springframework.util.ReflectionUtils.FieldCallback;
/**
* {@link TestExecutionListener} to trigger {@link MockitoAnnotations#openMocks(Object)}
* when {@link MockBean @MockBean} annotations are used. Primarily to allow
* {@link Captor @Captor} annotations.
* {@link TestExecutionListener} to enable {@link MockBean @MockBean} and
* {@link SpyBean @SpyBean} support. Also triggers
* {@link MockitoAnnotations#openMocks(Object)} when any Mockito annotations used,
* primarily to allow {@link Captor @Captor} annotations.
* <p>
* To use the automatic reset support of {@code @MockBean} and {@code @SpyBean}, configure
* {@link ResetMocksTestExecutionListener} as well.
*
* @author Phillip Webb
* @author Andy Wilkinson
* @since 1.4.2
* @see ResetMocksTestExecutionListener
*/
public class MockitoTestExecutionListener extends AbstractTestExecutionListener {

5
spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/mock/mockito/ResetMocksTestExecutionListener.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2012-2019 the original author or authors.
* Copyright 2012-2021 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -35,10 +35,11 @@ import org.springframework.util.ClassUtils; @@ -35,10 +35,11 @@ import org.springframework.util.ClassUtils;
/**
* {@link TestExecutionListener} to reset any mock beans that have been marked with a
* {@link MockReset}.
* {@link MockReset}. Typically used alongside {@link MockitoTestExecutionListener}.
*
* @author Phillip Webb
* @since 1.4.0
* @see MockitoTestExecutionListener
*/
public class ResetMocksTestExecutionListener extends AbstractTestExecutionListener {

Loading…
Cancel
Save