| java.lang.Object | ||
| ↳ | org.junit.rules.TestWatcher | |
| ↳ | com.atlassian.jira.junit.rules.MockComponentContainer | |
JUnit @Rule that allows for providing mock JIRA components accessed in
production code via ComponentAccessor
static methods.
Example usage (in your test classes):
@Rule public MockComponentContainer container = new MockComponentContainer(this);
@Mock
@AvailableInContainer
private ServiceOne mockServiceOne;
@Mock
@AvailableInContainer(interfaceClass=ServiceTwo.class) // useful if mockServiceTwo would implement more interfaces
private ServiceTwo mockServiceTwo;
@Test
public void testCodeThatUsesComponentAccessor()
{
assertSame(mockServiceOne, ComponentAccessor.getComponent(ServiceOne.class));
assertSame(mockServiceTwo, ComponentAccessor.getComponent(ServiceTwo.class));
// etc.
}
@Rule public MockComponentContainer container = new MockComponentContainer(this);
@Before
public void addMocks()
{
container.addMock(ServiceOne.class, mockServiceOne)
.addMock(ServiceTwo.class, mockServiceTwo);
}
@Test
public void testCodeThatUsesComponentAccessor()
{
assertSame(mockServiceOne, ComponentAccessor.getComponent(ServiceOne.class));
// etc.
}
| Public Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Protected Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
[Expand]
Inherited Methods | |||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
From class
org.junit.rules.TestWatcher
| |||||||||||||||||||||||||
From class
java.lang.Object
| |||||||||||||||||||||||||
From interface
org.junit.rules.TestRule
| |||||||||||||||||||||||||

