Package org.xwiki.test.junit5.mockito
Class MockitoComponentManagerExtension
- java.lang.Object
-
- org.xwiki.test.junit5.mockito.MockitoComponentManagerExtension
-
- All Implemented Interfaces:
org.junit.jupiter.api.extension.AfterEachCallback
,org.junit.jupiter.api.extension.BeforeEachCallback
,org.junit.jupiter.api.extension.Extension
,org.junit.jupiter.api.extension.ParameterResolver
public class MockitoComponentManagerExtension extends Object implements org.junit.jupiter.api.extension.BeforeEachCallback, org.junit.jupiter.api.extension.AfterEachCallback, org.junit.jupiter.api.extension.ParameterResolver
JUnit5 extension to help write unit tests for XWiki Components.For example:
@ComponentTest @ComponentList({ Component3Impl.class }) public class MyComponentTest { @Mock private List<String> list; @MockComponent private Component1Role component1; @InjectMocks @InjectMockComponents private Component4Impl component4; @InjectComponentManager private MockitoComponentManager componentManager; @Inject private SomeComponentRole someComponent; @BeforeEach public void before(MockitoComponentManager componentManager) { ... } @Test public void test1(MockitoComponentManager componentManager) { ... } @Test public void test2(ComponentManager componentManager) { ... } ... }
- Since:
- 10.3RC1
- Version:
- $Id: 41872af63753554b42de5416be493a41e700e0db $
-
-
Constructor Summary
Constructors Constructor Description MockitoComponentManagerExtension()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
afterEach(org.junit.jupiter.api.extension.ExtensionContext extensionContext)
void
beforeEach(org.junit.jupiter.api.extension.ExtensionContext context)
static org.junit.jupiter.api.extension.ExtensionContext.Store
getStore(org.junit.jupiter.api.extension.ExtensionContext context)
protected void
initializeMockitoComponentManager(Object testInstance, MockitoComponentManager mcm, org.junit.jupiter.api.extension.ExtensionContext context)
To be overridden by extensions if they need to perform additional initializations.static MockitoComponentManager
loadComponentManager(org.junit.jupiter.api.extension.ExtensionContext context)
protected void
processSingleInjectMockComponents(Object testInstance, Field field, InjectMockComponents annotation, MockitoComponentManager mcm)
Object
resolveParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)
boolean
supportsParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)
-
-
-
Method Detail
-
beforeEach
public void beforeEach(org.junit.jupiter.api.extension.ExtensionContext context) throws Exception
- Specified by:
beforeEach
in interfaceorg.junit.jupiter.api.extension.BeforeEachCallback
- Throws:
Exception
-
processSingleInjectMockComponents
protected void processSingleInjectMockComponents(Object testInstance, Field field, InjectMockComponents annotation, MockitoComponentManager mcm) throws Exception
- Throws:
Exception
-
initializeMockitoComponentManager
protected void initializeMockitoComponentManager(Object testInstance, MockitoComponentManager mcm, org.junit.jupiter.api.extension.ExtensionContext context) throws Exception
To be overridden by extensions if they need to perform additional initializations.- Parameters:
testInstance
- the test instance being initializedmcm
- the already created (but not initialized) Mockito Component Managercontext
- the extension context- Throws:
Exception
- if the initialization fails
-
afterEach
public void afterEach(org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws Exception
- Specified by:
afterEach
in interfaceorg.junit.jupiter.api.extension.AfterEachCallback
- Throws:
Exception
-
supportsParameter
public boolean supportsParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws org.junit.jupiter.api.extension.ParameterResolutionException
- Specified by:
supportsParameter
in interfaceorg.junit.jupiter.api.extension.ParameterResolver
- Throws:
org.junit.jupiter.api.extension.ParameterResolutionException
-
resolveParameter
public Object resolveParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws org.junit.jupiter.api.extension.ParameterResolutionException
- Specified by:
resolveParameter
in interfaceorg.junit.jupiter.api.extension.ParameterResolver
- Throws:
org.junit.jupiter.api.extension.ParameterResolutionException
-
loadComponentManager
public static MockitoComponentManager loadComponentManager(org.junit.jupiter.api.extension.ExtensionContext context)
- Parameters:
context
- the test execution context, used to get the context store- Returns:
- the MockitoComponentManager found in the context store
-
getStore
public static org.junit.jupiter.api.extension.ExtensionContext.Store getStore(org.junit.jupiter.api.extension.ExtensionContext context)
- Parameters:
context
- the test execution context, used to get the context store- Returns:
- an extension context store for the currently running test
-
-