@Incubating @NotExtensible public interface MockitoFramework
To get MockitoFramework
instance use Mockito.framework()
.
For more info on listeners see addListener(MockitoListener)
.
Modifier and Type | Method and Description |
---|---|
MockitoFramework |
addListener(MockitoListener listener)
Adds listener to Mockito.
|
void |
clearInlineMock(Object mock)
Clears up internal state of specific inline mock.
|
void |
clearInlineMocks()
Clears up internal state of all inline mocks.
|
InvocationFactory |
getInvocationFactory()
Returns a factory that can create instances of
Invocation . |
MockitoPlugins |
getPlugins()
Returns an object that has access to Mockito plugins.
|
MockitoFramework |
removeListener(MockitoListener listener)
When you add listener using
addListener(MockitoListener) make sure to remove it. |
@Incubating MockitoFramework addListener(MockitoListener listener) throws RedundantListenerException
MockitoListener
.
Listeners can be useful for engs that extend Mockito framework.
They are used in the implementation of unused stubbings warnings (MockitoHint
).
Make sure you remove the listener when the job is complete, see removeListener(MockitoListener)
.
Currently the listeners list is thread local so you need to remove listener from the same thread otherwise
remove is ineffectual.
In typical scenarios, it is not a problem, because adding & removing listeners typically happens in the same thread.
If you are trying to add the listener but a listener of the same type was already added (and not removed)
this method will throw RedundantListenerException
.
This is a safeguard to ensure users actually remove the listeners via removeListener(MockitoListener)
.
We do not anticipate the use case where adding the same listener type multiple times is useful.
If this safeguard is problematic, please contact us via Mockito issue tracker.
For usage examples, see Mockito codebase. If you have ideas and feature requests about Mockito listeners API we are very happy to hear about it via our issue tracker or mailing list.
Mockito.framework().addListener(myListener);
listener
- to add to MockitoRedundantListenerException
@Incubating MockitoFramework removeListener(MockitoListener listener)
addListener(MockitoListener)
make sure to remove it.
Currently the listeners list is thread local so you need to remove listener from the same thread otherwise
remove is ineffectual.
In typical scenarios, it is not a problem, because adding & removing listeners typically happens in the same thread.
For usage examples, see Mockito codebase. If you have ideas and feature requests about Mockito listeners API we are very happy to hear about it via our issue tracker or mailing list.
listener
- to remove@Incubating MockitoPlugins getPlugins()
MockMaker
.
For information why and how to use this method see MockitoPlugins
.@Incubating InvocationFactory getInvocationFactory()
Invocation
.
It is useful for framework integrations, because Invocation
is NotExtensible
.@Incubating void clearInlineMocks()
This method is useful to tackle subtle memory leaks that are possible due to the nature of inline mocking
(issue #1619).
If you are facing those problems, call this method at the end of the test (or in "@After" method).
See examples of using "clearInlineMocks" in Mockito test code.
To find out why inline mock maker keeps track of the mock objects see InlineMockMaker
.
Mockito's "inline mocking" enables mocking final types, enums and final methods
(read more in section 39 of Mockito
javadoc).
This method is only meaningful when InlineMockMaker
is in use.
If you're using a different MockMaker
then this method is a no-op.
public class ExampleTest {
@After
public void clearMocks() {
Mockito.framework().clearInlineMocks();
}
@Test
public void someTest() {
...
}
}
If you have feedback or a better idea how to solve the problem please reach out.clearInlineMock(Object)
@Incubating void clearInlineMock(Object mock)
clearInlineMocks()
.
Please read javadoc for clearInlineMocks()
.mock
- to clear upclearInlineMocks()