Class MockitoPostProcessor
- java.lang.Object
- org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessorAdapter
- org.springframework.boot.test.mock.mockito.MockitoPostProcessor
- All Implemented Interfaces:
org.springframework.beans.factory.Aware
,org.springframework.beans.factory.BeanClassLoaderAware
,org.springframework.beans.factory.BeanFactoryAware
,org.springframework.beans.factory.config.BeanFactoryPostProcessor
,org.springframework.beans.factory.config.BeanPostProcessor
,org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor
,org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor
,org.springframework.core.Ordered
public class MockitoPostProcessor extends org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessorAdapter implements org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.config.BeanFactoryPostProcessor, org.springframework.core.Ordered
ABeanFactoryPostProcessor
used to register and inject@MockBeans
with theApplicationContext
. An initial set of definitions can be passed to the processor with additional definitions being automatically created from@Configuration
classes that use@MockBean
.- Since:
- 1.4.0
Constructor Summary
Constructors Constructor Description MockitoPostProcessor(Set<org.springframework.boot.test.mock.mockito.Definition> definitions)
Create a newMockitoPostProcessor
instance with the given initial definitions.
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Object
createMock(org.springframework.boot.test.mock.mockito.MockDefinition mockDefinition, String name)
Factory method used by defined beans to actually create the mock.protected Object
createSpyIfNecessary(Object bean, String beanName)
int
getOrder()
void
postProcessBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory)
org.springframework.beans.PropertyValues
postProcessPropertyValues(org.springframework.beans.PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName)
static void
register(org.springframework.beans.factory.support.BeanDefinitionRegistry registry)
Register the processor with aBeanDefinitionRegistry
.static void
register(org.springframework.beans.factory.support.BeanDefinitionRegistry registry, Class<? extends MockitoPostProcessor> postProcessor, Set<org.springframework.boot.test.mock.mockito.Definition> definitions)
Register the processor with aBeanDefinitionRegistry
.static void
register(org.springframework.beans.factory.support.BeanDefinitionRegistry registry, Set<org.springframework.boot.test.mock.mockito.Definition> definitions)
Register the processor with aBeanDefinitionRegistry
.void
setBeanClassLoader(ClassLoader classLoader)
void
setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
Methods inherited from class org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessorAdapter
determineCandidateConstructors, getEarlyBeanReference, postProcessAfterInitialization, postProcessAfterInstantiation, postProcessBeforeInitialization, postProcessBeforeInstantiation, predictBeanType
Constructor Detail
MockitoPostProcessor
public MockitoPostProcessor(Set<org.springframework.boot.test.mock.mockito.Definition> definitions)
Create a newMockitoPostProcessor
instance with the given initial definitions.- Parameters:
definitions
- the initial definitions
Method Detail
setBeanClassLoader
public void setBeanClassLoader(ClassLoader classLoader)
- Specified by:
setBeanClassLoader
in interfaceorg.springframework.beans.factory.BeanClassLoaderAware
setBeanFactory
public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory) throws org.springframework.beans.BeansException
- Specified by:
setBeanFactory
in interfaceorg.springframework.beans.factory.BeanFactoryAware
- Throws:
org.springframework.beans.BeansException
postProcessBeanFactory
public void postProcessBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory) throws org.springframework.beans.BeansException
- Specified by:
postProcessBeanFactory
in interfaceorg.springframework.beans.factory.config.BeanFactoryPostProcessor
- Throws:
org.springframework.beans.BeansException
createMock
protected final Object createMock(org.springframework.boot.test.mock.mockito.MockDefinition mockDefinition, String name)
Factory method used by defined beans to actually create the mock.- Parameters:
mockDefinition
- the mock definitionname
- the bean name- Returns:
- the mock instance
createSpyIfNecessary
protected Object createSpyIfNecessary(Object bean, String beanName) throws org.springframework.beans.BeansException
- Throws:
org.springframework.beans.BeansException
postProcessPropertyValues
public org.springframework.beans.PropertyValues postProcessPropertyValues(org.springframework.beans.PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName) throws org.springframework.beans.BeansException
- Specified by:
postProcessPropertyValues
in interfaceorg.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor
- Overrides:
postProcessPropertyValues
in classorg.springframework.beans.factory.config.InstantiationAwareBeanPostProcessorAdapter
- Throws:
org.springframework.beans.BeansException
getOrder
public int getOrder()
- Specified by:
getOrder
in interfaceorg.springframework.core.Ordered
register
public static void register(org.springframework.beans.factory.support.BeanDefinitionRegistry registry)
Register the processor with aBeanDefinitionRegistry
. Not required when using theSpringRunner
as registration is automatic.- Parameters:
registry
- the bean definition registry
register
public static void register(org.springframework.beans.factory.support.BeanDefinitionRegistry registry, Set<org.springframework.boot.test.mock.mockito.Definition> definitions)
Register the processor with aBeanDefinitionRegistry
. Not required when using theSpringRunner
as registration is automatic.- Parameters:
registry
- the bean definition registrydefinitions
- the initial mock/spy definitions
register
public static void register(org.springframework.beans.factory.support.BeanDefinitionRegistry registry, Class<? extends MockitoPostProcessor> postProcessor, Set<org.springframework.boot.test.mock.mockito.Definition> definitions)
Register the processor with aBeanDefinitionRegistry
. Not required when using theSpringRunner
as registration is automatic.- Parameters:
registry
- the bean definition registrypostProcessor
- the post processor class to registerdefinitions
- the initial mock/spy definitions