java.lang.Object | |
↳ | com.atlassian.jira.junit.rules.MockitoContainer |
Rule that combines mockito initialization with
MockComponentContainer
. This will take care of initializing mocks using
Mockito and also putting them in a mock component container so that they're available via
getComponent(Class)
. After the test has run, the mock
container will be tear down so that next test does not accidentally access stale state.
Usage:
@Rule public MockitoContainer mockitoContainer = new MockitoContainer(this);
@Mock
@AvailableInContainer
private UserService mockUserService;
@Mock private JiraAuthenticationContext jiraAuthenticationContext;
where the userService
will be available via ComponentAccessor
, but the
jiraAuthenticationContext
will just be instantiated as a Mockito mock without adding it to the container.
The rule also gives the ability to access the initialized MockComponentWorker
, which allows you to
manipulate the mocks directly from tests or add additional mocks that are only needed by some of the tests
or otherwise could not be made available using the @AvailableInContainer
annotation.
Example:
@Rule public MockitoContainer mockitoContainer = new MockitoContainer(this);
@Mock
public void testSomething() {
mockitoContainer.getMockWorker().getMockUserKeyService().setMapping("fredkey", "FredName");
mockitoContainer.getMockWorker().addMock(ComponentInterface.class, new MockComponentImpl());
(...)
}
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
A shorthand for getMockComponentContainer().getMockWorker()
|
[Expand]
Inherited Methods | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
From class java.lang.Object | |||||||||||||
From interface
org.junit.rules.TestRule
|
A shorthand for getMockComponentContainer().getMockWorker()