org.mockito.internal.creation.bytebuddy
MockMaker.TypeMockability| Constructor and Description |
|---|
ByteBuddyMockMaker() |
| Modifier and Type | Method and Description |
|---|---|
<T> T |
createMock(MockCreationSettings<T> settings,
MockHandler handler)
If you want to provide your own implementation of
MockMaker this method should:
Create a proxy object that implements settings.typeToMock and potentially also settings.extraInterfaces.
You may use the information from settings to create/configure your proxy object.
Your proxy object should carry the handler with it. |
MockHandler |
getHandler(Object mock)
Returns the handler for the
mock. |
MockMaker.TypeMockability |
isTypeMockable(Class<?> type)
Indicates if the given type can be mocked by this mockmaker.
|
void |
resetMock(Object mock,
MockHandler newHandler,
MockCreationSettings settings)
Replaces the existing handler on
mock with newHandler. |
public <T> T createMock(MockCreationSettings<T> settings, MockHandler handler)
MockMakerMockMaker this method should:
settings.typeToMock and potentially also settings.extraInterfaces.settings to create/configure your proxy object.handler with it. For example, if you generate byte code
to create the proxy you could generate an extra field to keep the handler with the generated object.
Your implementation of MockMaker is required to provide this instance of handler when
MockMaker.getHandler(Object) is called.
createMock in interface MockMakerT - Type of the mock to return, actually the settings.getTypeToMock.settings - Mock creation settings like type to mock, extra interfaces and so on.handler - See MockHandler.
Do not provide your own implementation at this time. Make sure your implementation of
MockMaker.getHandler(Object) will return this instance.public MockHandler getHandler(Object mock)
MockMakermock. Do not provide your own implementations at this time
because the work on the MockHandler api is not completed.
Use the instance provided to you by Mockito at MockMaker.createMock(org.mockito.mock.MockCreationSettings, org.mockito.invocation.MockHandler) or MockMaker.resetMock(java.lang.Object, org.mockito.invocation.MockHandler, org.mockito.mock.MockCreationSettings).getHandler in interface MockMakermock - The mock instance.public void resetMock(Object mock, MockHandler newHandler, MockCreationSettings settings)
MockMakermock with newHandler.
The invocation handler actually store invocations to achieve stubbing and verification. In order to reset the mock, we pass a new instance of the invocation handler.
Your implementation should make sure the newHandler is correctly associated to passed mock
public MockMaker.TypeMockability isTypeMockable(Class<?> type)
MockMakerMockmaker may have different capabilities in term of mocking, typically Mockito 1.x's internal mockmaker cannot mock final types. Other implementations, may have different limitations.
isTypeMockable in interface MockMakertype - The type inspected for mockability.