org.mockito.session
@Incubating public interface MockitoSessionBuilder
MockitoSession
objects.
See the documentation and examples in Javadoc for MockitoSession
.Modifier and Type | Method and Description |
---|---|
MockitoSessionBuilder |
initMocks(Object testClassInstance)
Configures the test class instance for initialization of fields annotated with Mockito annotations
like
Mock . |
MockitoSession |
startMocking()
Starts new mocking session! Creates new
MockitoSession instance to initialize the session. |
MockitoSessionBuilder |
strictness(Strictness strictness)
Configures strictness of
MockitoSession instance. |
@Incubating MockitoSessionBuilder initMocks(Object testClassInstance)
Mock
.
When this method is invoked it does not perform initialization of mocks on the spot!
Only when startMocking()
is invoked then annotated fields will be initialized.
Traditional API to initialize mocks, the MockitoAnnotations.initMocks(Object)
method
has limited support for driving cleaner tests because it does not support configuring Strictness
.
Want cleaner tests and better productivity?
Migrate from MockitoAnnotations.initMocks(Object)
to MockitoSession
!
See code sample in MockitoSession
.
testClassInstance
- test class instance that contains fields with Mockito annotations to be initialized.
Passing null
is permitted and will make the session use a default value.
The current default is 'new Object()
'.MockitoSession
.@Incubating MockitoSessionBuilder strictness(Strictness strictness)
MockitoSession
instance.
See examples in MockitoSession
.strictness
- for MockitoSession
instance.
Passing null
is permitted and will make the session use a default value.
The current default is Strictness.STRICT_STUBS
.MockitoSession
.@Incubating MockitoSession startMocking() throws UnfinishedMockingSessionException
MockitoSession
instance to initialize the session.
At this point annotated fields are initialized per initMocks(Object)
method.
When you are done with the session it is required to invoke MockitoSession.finishMocking()
.
This will trigger stubbing validation, cleaning up the internal state like removal of internal listeners.
Mockito tracks created sessions internally and prevents the user from creating new sessions without
using MockitoSession.finishMocking()
.
When you run tests concurrently in multiple threads, it is legal for each thread to have single active Mockito session.
When you attempt to start new session in a thread that already has an unfinished session
UnfinishedMockingSessionException
will be triggered.
See examples in MockitoSession
.
MockitoSession
instanceUnfinishedMockingSessionException
- when previous session was not concluded with MockitoSession.finishMocking()