com.atlassian.jira.junit.rules
Class MockComponentContainer

java.lang.Object
  extended by org.junit.rules.TestWatcher
      extended by com.atlassian.jira.junit.rules.MockComponentContainer
All Implemented Interfaces:
org.junit.rules.TestRule

public class MockComponentContainer
extends org.junit.rules.TestWatcher

JUnit @Rule that allows for providing mcok JIRA components accessed in production code via ComponentAccessor static methods.

Example usage (in your test classes): @Rule public MockComponentContainer container = new MockComponentContainer(); @Before public void addMocks() { container.addMock(ServiceOne.class, mockServiceOne).addMock(ServiceTwo.class, mockServiceTwo); } @Test public void testCodeThatUsesComponentAccessor() { assertSame(mockServiceOne, ComponentAccessor.getComponent(ServiceOne.class)); // etc. }

Since:
5.1

Constructor Summary
MockComponentContainer()
           
 
Method Summary
<I,C extends I>
MockComponentContainer
addMock(Class<I> componentInterface, C mockComponentImplementation)
           
<I,C extends I>
MockComponentContainer
addMockComponent(Class<I> componentInterface, C mockComponentImplementation)
           
protected  void finished(org.junit.runner.Description description)
           
protected  void starting(org.junit.runner.Description description)
           
 
Methods inherited from class org.junit.rules.TestWatcher
apply, failed, succeeded
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MockComponentContainer

public MockComponentContainer()
Method Detail

addMockComponent

public <I,C extends I> MockComponentContainer addMockComponent(Class<I> componentInterface,
                                                               C mockComponentImplementation)

addMock

public <I,C extends I> MockComponentContainer addMock(Class<I> componentInterface,
                                                      C mockComponentImplementation)

starting

protected void starting(org.junit.runner.Description description)
Overrides:
starting in class org.junit.rules.TestWatcher

finished

protected void finished(org.junit.runner.Description description)
Overrides:
finished in class org.junit.rules.TestWatcher


Copyright © 2002-2012 Atlassian. All Rights Reserved.