类 TestContextManager
- java.lang.Object
- org.springframework.test.context.TestContextManager
public class TestContextManager extends Object
TestContextManager
is the main entry point into the Spring TestContext Framework.Specifically, a
TestContextManager
is responsible for managing a singleTestContext
and signaling events to all registeredTestExecutionListeners
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 byContextLoaders
andTestExecutionListeners
, which are configured via@ContextConfiguration
and@TestExecutionListeners
.Bootstrapping of the
TestContext
, the defaultContextLoader
, defaultTestExecutionListeners
, and their collaborators is performed by aTestContextBootstrapper
, which is configured via@BootstrapWith
.- 从以下版本开始:
- 2.5
- 作者:
- Sam Brannen, Juergen Hoeller
- 另请参阅:
BootstrapWith
,BootstrapContext
,TestContextBootstrapper
,TestContext
,TestExecutionListener
,TestExecutionListeners
,ContextConfiguration
,ContextHierarchy
构造器概要
构造器 构造器 说明 TestContextManager(Class<?> testClass)
Construct a newTestContextManager
for the supplied test class.TestContextManager(TestContextBootstrapper testContextBootstrapper)
Construct a newTestContextManager
using the suppliedTestContextBootstrapper
and register the necessaryTestExecutionListeners
.
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 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 suppliedtest 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 suppliedtest method
, for example for setting up test fixtures, starting a transaction, etc.TestContext
getTestContext()
Get theTestContext
managed by thisTestContextManager
.List<TestExecutionListener>
getTestExecutionListeners()
Get the currentTestExecutionListeners
registered for thisTestContextManager
.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 ofTestExecutionListeners
by appending them to the list of listeners used by thisTestContextManager
.void
registerTestExecutionListeners(TestExecutionListener... testExecutionListeners)
Register the supplied array ofTestExecutionListeners
by appending them to the list of listeners used by thisTestContextManager
.
构造器详细资料
TestContextManager
public TestContextManager(Class<?> testClass)
Construct a newTestContextManager
for the supplied test class.Delegates to
TestContextManager(TestContextBootstrapper)
with theTestContextBootstrapper
configured for the test class. If the@BootstrapWith
annotation is present on the test class, either directly or as a meta-annotation, then itsvalue
will be used as the bootstrapper type; otherwise, theDefaultTestContextBootstrapper
will be used.- 参数:
testClass
- the test class to be managed- 另请参阅:
TestContextManager(TestContextBootstrapper)
TestContextManager
public TestContextManager(TestContextBootstrapper testContextBootstrapper)
Construct a newTestContextManager
using the suppliedTestContextBootstrapper
and register the necessaryTestExecutionListeners
.Delegates to the supplied
TestContextBootstrapper
for building theTestContext
and retrieving theTestExecutionListeners
.- 参数:
testContextBootstrapper
- the bootstrapper to use- 另请参阅:
TestContextBootstrapper.buildTestContext()
,TestContextBootstrapper.getTestExecutionListeners()
,registerTestExecutionListeners(java.util.List<org.springframework.test.context.TestExecutionListener>)
方法详细资料
getTestContext
public final TestContext getTestContext()
Get theTestContext
managed by thisTestContextManager
.
registerTestExecutionListeners
public void registerTestExecutionListeners(List<TestExecutionListener> testExecutionListeners)
Register the supplied list ofTestExecutionListeners
by appending them to the list of listeners used by thisTestContextManager
.
registerTestExecutionListeners
public void registerTestExecutionListeners(TestExecutionListener... testExecutionListeners)
Register the supplied array ofTestExecutionListeners
by appending them to the list of listeners used by thisTestContextManager
.
getTestExecutionListeners
public final List<TestExecutionListener> getTestExecutionListeners()
Get the currentTestExecutionListeners
registered for thisTestContextManager
.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.
beforeTestClass
public void beforeTestClass() throws Exception
Hook for pre-processing a test class before execution of any tests within the class. Should be called prior to any framework-specific before class methods (e.g., methods annotated with JUnit's@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 exception- 另请参阅:
getTestExecutionListeners()
prepareTestInstance
public void prepareTestInstance(Object testInstance) throws Exception
Hook for preparing a test instance prior to execution of any individual test methods, for example for injecting dependencies, etc. Should be called immediately after instantiation of the test instance.The managed
TestContext
will be updated with the suppliedtestInstance
.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 (nevernull
)- 抛出:
Exception
- if a registered TestExecutionListener throws an exception- 另请参阅:
getTestExecutionListeners()
beforeTestMethod
public void beforeTestMethod(Object testInstance, Method testMethod) throws Exception
Hook for pre-processing a test before execution of the suppliedtest 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 suppliedtestInstance
andtestMethod
.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 (nevernull
)testMethod
- the test method which is about to be executed on the test instance- 抛出:
Exception
- if a registered TestExecutionListener throws an exception- 另请参阅:
getTestExecutionListeners()
afterTestMethod
public void afterTestMethod(Object testInstance, Method testMethod, Throwable exception) throws Exception
Hook for post-processing a test after execution of the suppliedtest 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 suppliedtestInstance
,testMethod
, andexception
.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 (nevernull
)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, ornull
if none was thrown- 抛出:
Exception
- if a registered TestExecutionListener throws an exception- 另请参阅:
getTestExecutionListeners()
afterTestClass
public void afterTestClass() throws Exception
Hook for post-processing a test class after execution of all tests within the class. Should be called after any framework-specific after class methods (e.g., methods annotated with JUnit's@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 exception- 另请参阅:
getTestExecutionListeners()