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 voidafterEach(org.junit.jupiter.api.extension.ExtensionContext extensionContext)voidbeforeEach(org.junit.jupiter.api.extension.ExtensionContext context)static org.junit.jupiter.api.extension.ExtensionContext.StoregetStore(org.junit.jupiter.api.extension.ExtensionContext context)protected voidinitializeMockitoComponentManager(Object testInstance, MockitoComponentManager mcm, org.junit.jupiter.api.extension.ExtensionContext context)To be overridden by extensions if they need to perform additional initializations.static MockitoComponentManagerloadComponentManager(org.junit.jupiter.api.extension.ExtensionContext context)protected voidprocessSingleInjectMockComponents(Object testInstance, Field field, InjectMockComponents annotation, MockitoComponentManager mcm)ObjectresolveParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)booleansupportsParameter(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:
beforeEachin 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:
afterEachin 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:
supportsParameterin 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:
resolveParameterin 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
-
-