public class TestContextManager extends Object
TestContextManager is the main entry point into the Spring
 TestContext Framework.
 Specifically, a TestContextManager is responsible for managing a
 single TestContext and signaling events to all registered
 TestExecutionListeners at the following test
 execution points:
 
before test class execution: prior to any
 before class callbacks of a particular testing framework (e.g.,
 JUnit 4's @BeforeClass)test instance preparation:
 immediately following instantiation of the test instancebefore test method execution:
 prior to any before method callbacks of a particular testing framework
 (e.g., JUnit 4's @Before)after test method
 execution: after any after method callbacks of a particular testing
 framework (e.g., JUnit 4's @After)after test class execution: after any
 after class callbacks of a particular testing framework (e.g., JUnit
 4's @AfterClass)Support for loading and accessing
 application contexts,
 dependency injection of test instances,
 transactional
 execution of test methods, etc. is provided by
 ContextLoaders and TestExecutionListeners, which are configured via
 @ContextConfiguration and
 @TestExecutionListeners.
 
Bootstrapping of the TestContext, the default ContextLoader,
 default TestExecutionListeners, and their collaborators is performed
 by a TestContextBootstrapper, which is configured via
 @BootstrapWith.
BootstrapWith, 
BootstrapContext, 
TestContextBootstrapper, 
TestContext, 
TestExecutionListener, 
TestExecutionListeners, 
ContextConfiguration, 
ContextHierarchy| Constructor and Description | 
|---|
TestContextManager(Class<?> testClass)
Construct a new  
TestContextManager for the supplied test class. | 
TestContextManager(TestContextBootstrapper testContextBootstrapper)
Construct a new  
TestContextManager using the supplied TestContextBootstrapper
 and register the necessary
 TestExecutionListeners. | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
afterTestClass()
Hook for post-processing a test class after execution of all
 tests within the class. 
 | 
void | 
afterTestMethod(Object testInstance,
               Method testMethod,
               Throwable exception)
Hook for post-processing a test after execution of the supplied
  
test method, for example for tearing down test fixtures,
 ending a transaction, etc. | 
void | 
beforeTestClass()
Hook for pre-processing a test class before execution of any
 tests within the class. 
 | 
void | 
beforeTestMethod(Object testInstance,
                Method testMethod)
Hook for pre-processing a test before execution of the supplied
  
test method, for example for setting up test fixtures,
 starting a transaction, etc. | 
TestContext | 
getTestContext()
Get the  
TestContext managed by this TestContextManager. | 
List<TestExecutionListener> | 
getTestExecutionListeners()
Get the current  
TestExecutionListeners
 registered for this TestContextManager. | 
void | 
prepareTestInstance(Object testInstance)
Hook for preparing a test instance prior to execution of any individual
 test methods, for example for injecting dependencies, etc. 
 | 
void | 
registerTestExecutionListeners(List<TestExecutionListener> testExecutionListeners)
Register the supplied list of  
TestExecutionListeners
 by appending them to the list of listeners used by this TestContextManager. | 
void | 
registerTestExecutionListeners(TestExecutionListener... testExecutionListeners)
Register the supplied array of  
TestExecutionListeners
 by appending them to the list of listeners used by this TestContextManager. | 
public TestContextManager(Class<?> testClass)
TestContextManager for the supplied test class.
 Delegates to TestContextManager(TestContextBootstrapper) with
 the TestContextBootstrapper configured for the test class. If the
 @BootstrapWith annotation is present on the test
 class, either directly or as a meta-annotation, then its
 value will be used as the bootstrapper type;
 otherwise, the DefaultTestContextBootstrapper will be used.
testClass - the test class to be managedTestContextManager(TestContextBootstrapper)public TestContextManager(TestContextBootstrapper testContextBootstrapper)
TestContextManager using the supplied TestContextBootstrapper
 and register the necessary
 TestExecutionListeners.
 Delegates to the supplied TestContextBootstrapper for building
 the TestContext and retrieving the TestExecutionListeners.
testContextBootstrapper - the bootstrapper to useTestContextBootstrapper.buildTestContext(), 
TestContextBootstrapper.getTestExecutionListeners(), 
registerTestExecutionListeners(java.util.List<org.springframework.test.context.TestExecutionListener>)public final TestContext getTestContext()
TestContext managed by this TestContextManager.public void registerTestExecutionListeners(List<TestExecutionListener> testExecutionListeners)
TestExecutionListeners
 by appending them to the list of listeners used by this TestContextManager.public void registerTestExecutionListeners(TestExecutionListener... testExecutionListeners)
TestExecutionListeners
 by appending them to the list of listeners used by this TestContextManager.public final List<TestExecutionListener> getTestExecutionListeners()
TestExecutionListeners
 registered for this TestContextManager.
 Allows for modifications, e.g. adding a listener to the beginning of the list. However, make sure to keep the list stable while actually executing tests.
public void beforeTestClass()
                     throws Exception
@BeforeClass).
 An attempt will be made to give each registered
 TestExecutionListener a chance to pre-process the test class
 execution. If a listener throws an exception, however, the remaining
 registered listeners will not be called.
Exception - if a registered TestExecutionListener throws an
 exceptiongetTestExecutionListeners()public void prepareTestInstance(Object testInstance) throws Exception
The managed TestContext will be updated with the supplied
 testInstance.
 
An attempt will be made to give each registered
 TestExecutionListener a chance to prepare the test instance. If a
 listener throws an exception, however, the remaining registered listeners
 will not be called.
testInstance - the test instance to prepare (never null)Exception - if a registered TestExecutionListener throws an exceptiongetTestExecutionListeners()public void beforeTestMethod(Object testInstance, Method testMethod) throws Exception
test method, for example for setting up test fixtures,
 starting a transaction, etc. Should be called prior to any
 framework-specific before methods (e.g., methods annotated with
 JUnit's @Before).
 The managed TestContext will be updated with the supplied
 testInstance and testMethod.
 
An attempt will be made to give each registered
 TestExecutionListener a chance to pre-process the test method
 execution. If a listener throws an exception, however, the remaining
 registered listeners will not be called.
testInstance - the current test instance (never null)testMethod - the test method which is about to be executed on the
 test instanceException - if a registered TestExecutionListener throws an exceptiongetTestExecutionListeners()public void afterTestMethod(Object testInstance, Method testMethod, Throwable exception) throws Exception
test method, for example for tearing down test fixtures,
 ending a transaction, etc. Should be called after any framework-specific
 after methods (e.g., methods annotated with JUnit's
 @After).
 The managed TestContext will be updated with the supplied
 testInstance, testMethod, and
 exception.
 
Each registered TestExecutionListener will be given a chance to
 post-process the test method execution. If a listener throws an
 exception, the remaining registered listeners will still be called, but
 the first exception thrown will be tracked and rethrown after all
 listeners have executed. Note that registered listeners will be executed
 in the opposite order in which they were registered.
testInstance - the current test instance (never null)testMethod - the test method which has just been executed on the
 test instanceexception - the exception that was thrown during execution of the
 test method or by a TestExecutionListener, or null if none
 was thrownException - if a registered TestExecutionListener throws an exceptiongetTestExecutionListeners()public void afterTestClass()
                    throws Exception
@AfterClass).
 Each registered TestExecutionListener will be given a chance to
 post-process the test class. If a listener throws an exception, the
 remaining registered listeners will still be called, but the first
 exception thrown will be tracked and rethrown after all listeners have
 executed. Note that registered listeners will be executed in the opposite
 order in which they were registered.
Exception - if a registered TestExecutionListener throws an exceptiongetTestExecutionListeners()