public interface TestContext extends AttributeAccessor, Serializable
TestContext
encapsulates the context in which a test is executed,
agnostic of the actual testing framework in use.TestContextManager
,
TestExecutionListener
Modifier and Type | Method and Description |
---|---|
ApplicationContext |
getApplicationContext()
Get the application context for this
test context, possibly cached.
|
Class<?> |
getTestClass()
Get the test class for this test context.
|
Throwable |
getTestException()
Get the exception that was thrown during execution
of the test method.
|
Object |
getTestInstance()
Get the current test instance for this test context.
|
Method |
getTestMethod()
Get the current test method for this test context.
|
void |
markApplicationContextDirty(DirtiesContext.HierarchyMode hierarchyMode)
Call this method to signal that the application
context associated with this test context is dirty and should be
removed from the context cache.
|
void |
updateState(Object testInstance,
Method testMethod,
Throwable testException)
Update this test context to reflect the state of the currently executing test.
|
attributeNames, getAttribute, hasAttribute, removeAttribute, setAttribute
ApplicationContext getApplicationContext()
Implementations of this method are responsible for loading the application context if the corresponding context has not already been loaded, potentially caching the context as well.
null
)IllegalStateException
- if an error occurs while retrieving the
application contextClass<?> getTestClass()
null
)Object getTestInstance()
Note: this is a mutable property.
null
)updateState(Object, Method, Throwable)
Method getTestMethod()
Note: this is a mutable property.
null
)updateState(Object, Method, Throwable)
Throwable getTestException()
Note: this is a mutable property.
null
if no exception was thrownupdateState(Object, Method, Throwable)
void markApplicationContextDirty(DirtiesContext.HierarchyMode hierarchyMode)
Do this if a test has modified the context — for example, by modifying the state of a singleton bean, modifying the state of an embedded database, etc.
hierarchyMode
- the context cache clearing mode to be applied if the
context is part of a hierarchy (may be null
)void updateState(Object testInstance, Method testMethod, Throwable testException)
Caution: concurrent invocations of this method might not be thread-safe, depending on the underlying implementation.
testInstance
- the current test instance (may be null
)testMethod
- the current test method (may be null
)testException
- the exception that was thrown in the test method,
or null
if no exception was thrown