|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.test.context.TestContextManager
public class TestContextManager
TestContextManager
is the main entry point into the
Spring TestContext Framework, which provides support for loading and
accessing application contexts
, dependency
injection of test instances,
transactional
execution of test methods, etc.
Specifically, a TestContextManager
is responsible for managing a
single TestContext
and signaling events to all registered
TestExecutionListeners
at well defined test
execution points:
before test class execution
: prior to any
before class methods 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 methods of a particular testing framework (e.g.,
JUnit 4's @Before
)after test method
execution
: after any after methods of a particular testing
framework (e.g., JUnit 4's @After
)after test class execution
: after any
after class methods of a particular testing framework (e.g., JUnit
4's @AfterClass
)
TestContext
,
TestExecutionListeners
,
ContextConfiguration
,
TransactionConfiguration
Constructor Summary | |
---|---|
TestContextManager(Class<?> testClass)
Delegates to TestContextManager(Class, String) with a value of
null for the default ContextLoader class name. |
|
TestContextManager(Class<?> testClass,
String defaultContextLoaderClassName)
Constructs a new TestContextManager for the specified
test class and automatically
registers the TestExecutionListeners
configured for the test class via the @TestExecutionListeners annotation. |
Method Summary | |
---|---|
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. |
protected Set<Class<? extends TestExecutionListener>> |
getDefaultTestExecutionListenerClasses()
Determine the default TestExecutionListener classes. |
protected TestContext |
getTestContext()
Returns the TestContext managed by this
TestContextManager . |
List<TestExecutionListener> |
getTestExecutionListeners()
Gets an unmodifiable copy of
the 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(TestExecutionListener... testExecutionListeners)
Register the supplied TestExecutionListeners by appending them to the set of listeners used by
this TestContextManager . |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public TestContextManager(Class<?> testClass)
TestContextManager(Class, String)
with a value of
null
for the default ContextLoader
class name.
public TestContextManager(Class<?> testClass, String defaultContextLoaderClassName)
TestContextManager
for the specified
test class
and automatically
registers
the TestExecutionListeners
configured for the test class via the @TestExecutionListeners
annotation.
testClass
- the test class to be manageddefaultContextLoaderClassName
- the name of the default
ContextLoader
class to use (may be null
)registerTestExecutionListeners(TestExecutionListener...)
,
retrieveTestExecutionListeners(Class)
Method Detail |
---|
protected final TestContext getTestContext()
TestContext
managed by this
TestContextManager
.
public void registerTestExecutionListeners(TestExecutionListener... testExecutionListeners)
TestExecutionListeners
by appending them to the set of listeners used by
this TestContextManager
.
public final List<TestExecutionListener> getTestExecutionListeners()
unmodifiable
copy of
the TestExecutionListeners
registered for
this TestContextManager
.
protected Set<Class<? extends TestExecutionListener>> getDefaultTestExecutionListenerClasses()
TestExecutionListener
classes.
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 instance
Exception
- 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 thrown
Exception
- 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()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |