Package org.springframework.test.context
Interface TestContext
- All Superinterfaces:
AttributeAccessor
,Serializable
- All Known Implementing Classes:
DefaultTestContext
public interface TestContext extends AttributeAccessor, Serializable
TestContext
encapsulates the context in which a test is executed, agnostic of the actual testing framework in use.- Since:
- 2.5
- Author:
- Sam Brannen
- See Also:
TestContextManager
,TestExecutionListener
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method 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.Methods inherited from interface org.springframework.core.AttributeAccessor
attributeNames, getAttribute, hasAttribute, removeAttribute, setAttribute
Method Detail
getApplicationContext
ApplicationContext getApplicationContext()
Get the application context for this test context, possibly cached.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.
- Returns:
- the application context (never
null
) - Throws:
IllegalStateException
- if an error occurs while retrieving the application context
getTestClass
Class<?> getTestClass()
Get the test class for this test context.- Returns:
- the test class (never
null
)
getTestInstance
Object getTestInstance()
Get the current test instance for this test context.Note: this is a mutable property.
- Returns:
- the current test instance (may be
null
) - See Also:
updateState(Object, Method, Throwable)
getTestMethod
Method getTestMethod()
Get the current test method for this test context.Note: this is a mutable property.
- Returns:
- the current test method (may be
null
) - See Also:
updateState(Object, Method, Throwable)
getTestException
Throwable getTestException()
Get the exception that was thrown during execution of the test method.Note: this is a mutable property.
- Returns:
- the exception that was thrown, or
null
if no exception was thrown - See Also:
updateState(Object, Method, Throwable)
markApplicationContextDirty
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.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.
- Parameters:
hierarchyMode
- the context cache clearing mode to be applied if the context is part of a hierarchy (may benull
)
updateState
void updateState(Object testInstance, Method testMethod, Throwable testException)
Update this test context to reflect the state of the currently executing test.Caution: concurrent invocations of this method might not be thread-safe, depending on the underlying implementation.
- Parameters:
testInstance
- the current test instance (may benull
)testMethod
- the current test method (may benull
)testException
- the exception that was thrown in the test method, ornull
if no exception was thrown