类 DefaultTestContext
- java.lang.Object
- org.springframework.test.context.support.DefaultTestContext
- 所有已实现的接口:
Serializable
,AttributeAccessor
,TestContext
public class DefaultTestContext extends Object implements TestContext
Default implementation of theTestContext
interface.- 从以下版本开始:
- 4.0
- 作者:
- Sam Brannen, Juergen Hoeller, Rob Harrop
- 另请参阅:
- 序列化表格
构造器概要
构造器 构造器 说明 DefaultTestContext(Class<?> testClass, MergedContextConfiguration mergedContextConfiguration, CacheAwareContextLoaderDelegate cacheAwareContextLoaderDelegate)
Construct a newDefaultTestContext
from the supplied arguments.DefaultTestContext(DefaultTestContext testContext)
Copy constructor for creating a newDefaultTestContext
based on the attributes and immutable state of the supplied context.
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 String[]
attributeNames()
Return the names of all attributes.ApplicationContext
getApplicationContext()
Get the application context for this test context.Object
getAttribute(String name)
Get the value of the attribute identified byname
.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.boolean
hasApplicationContext()
Determine if the application context for this test context is present in the context cache.boolean
hasAttribute(String name)
Returntrue
if the attribute identified byname
exists.void
markApplicationContextDirty(DirtiesContext.HierarchyMode hierarchyMode)
Mark the application context associated with this test context as dirty (i.e., by removing it from the context cache and closing it).Object
removeAttribute(String name)
Remove the attribute identified byname
and return its value.void
setAttribute(String name, Object value)
Set the attribute defined byname
to the suppliedvalue
.String
toString()
Provide a String representation of this test context's state.void
updateState(Object testInstance, Method testMethod, Throwable testException)
Update this test context to reflect the state of the currently executing test.从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
从接口继承的方法 org.springframework.test.context.TestContext
publishEvent
构造器详细资料
DefaultTestContext
public DefaultTestContext(DefaultTestContext testContext)
Copy constructor for creating a newDefaultTestContext
based on the attributes and immutable state of the supplied context.Immutable state includes all arguments supplied to the standard constructor.
- 抛出:
NullPointerException
- if the suppliedDefaultTestContext
isnull
DefaultTestContext
public DefaultTestContext(Class<?> testClass, MergedContextConfiguration mergedContextConfiguration, CacheAwareContextLoaderDelegate cacheAwareContextLoaderDelegate)
Construct a newDefaultTestContext
from the supplied arguments.- 参数:
testClass
- the test class for this test contextmergedContextConfiguration
- the merged application context configuration for this test contextcacheAwareContextLoaderDelegate
- the delegate to use for loading and closing the application context for this test context
方法详细资料
hasApplicationContext
public boolean hasApplicationContext()
Determine if the application context for this test context is present in the context cache.- 指定者:
hasApplicationContext
在接口中TestContext
- 返回:
true
if the application context has already been loaded and stored in the context cache- 从以下版本开始:
- 5.2
- 另请参阅:
getApplicationContext()
,CacheAwareContextLoaderDelegate.isContextLoaded(org.springframework.test.context.MergedContextConfiguration)
getApplicationContext
public ApplicationContext getApplicationContext()
Get the application context for this test context.The default implementation delegates to the
CacheAwareContextLoaderDelegate
that was supplied when thisTestContext
was constructed.- 指定者:
getApplicationContext
在接口中TestContext
- 返回:
- the application context (never
null
) - 抛出:
IllegalStateException
- if the context returned by the context loader delegate is not active (i.e., has been closed)- 另请参阅:
CacheAwareContextLoaderDelegate.loadContext(org.springframework.test.context.MergedContextConfiguration)
markApplicationContextDirty
public void markApplicationContextDirty(@Nullable DirtiesContext.HierarchyMode hierarchyMode)
Mark the application context associated with this test context as dirty (i.e., by removing it from the context cache and closing it).The default implementation delegates to the
CacheAwareContextLoaderDelegate
that was supplied when thisTestContext
was constructed.- 指定者:
markApplicationContextDirty
在接口中TestContext
- 参数:
hierarchyMode
- the context cache clearing mode to be applied if the context is part of a hierarchy (may benull
)- 另请参阅:
CacheAwareContextLoaderDelegate.closeContext(org.springframework.test.context.MergedContextConfiguration, org.springframework.test.annotation.DirtiesContext.HierarchyMode)
getTestClass
public final Class<?> getTestClass()
从接口复制的说明:TestContext
Get the test class for this test context.- 指定者:
getTestClass
在接口中TestContext
- 返回:
- the test class (never
null
)
getTestInstance
public final Object getTestInstance()
从接口复制的说明:TestContext
Get the current test instance for this test context.Note: this is a mutable property.
- 指定者:
getTestInstance
在接口中TestContext
- 返回:
- the current test instance (never
null
) - 另请参阅:
TestContext.updateState(Object, Method, Throwable)
getTestMethod
public final Method getTestMethod()
从接口复制的说明:TestContext
Get the current test method for this test context.Note: this is a mutable property.
- 指定者:
getTestMethod
在接口中TestContext
- 返回:
- the current test method (never
null
) - 另请参阅:
TestContext.updateState(Object, Method, Throwable)
getTestException
@Nullable public final Throwable getTestException()
从接口复制的说明:TestContext
Get the exception that was thrown during execution of the test method.Note: this is a mutable property.
- 指定者:
getTestException
在接口中TestContext
- 返回:
- the exception that was thrown, or
null
if no exception was thrown - 另请参阅:
TestContext.updateState(Object, Method, Throwable)
updateState
public void updateState(@Nullable Object testInstance, @Nullable Method testMethod, @Nullable Throwable testException)
从接口复制的说明:TestContext
Update this test context to reflect the state of the currently executing test.WARNING: This method should only be invoked by the
TestContextManager
.Caution: concurrent invocations of this method might not be thread-safe, depending on the underlying implementation.
- 指定者:
updateState
在接口中TestContext
- 参数:
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
setAttribute
public void setAttribute(String name, @Nullable Object value)
从接口复制的说明:AttributeAccessor
Set the attribute defined byname
to the suppliedvalue
. Ifvalue
isnull
, the attribute isremoved
.In general, users should take care to prevent overlaps with other metadata attributes by using fully-qualified names, perhaps using class or package names as prefix.
- 指定者:
setAttribute
在接口中AttributeAccessor
- 参数:
name
- the unique attribute keyvalue
- the attribute value to be attached
getAttribute
@Nullable public Object getAttribute(String name)
从接口复制的说明:AttributeAccessor
Get the value of the attribute identified byname
. Returnnull
if the attribute doesn't exist.- 指定者:
getAttribute
在接口中AttributeAccessor
- 参数:
name
- the unique attribute key- 返回:
- the current value of the attribute, if any
removeAttribute
@Nullable public Object removeAttribute(String name)
从接口复制的说明:AttributeAccessor
Remove the attribute identified byname
and return its value. Returnnull
if no attribute undername
is found.- 指定者:
removeAttribute
在接口中AttributeAccessor
- 参数:
name
- the unique attribute key- 返回:
- the last value of the attribute, if any
hasAttribute
public boolean hasAttribute(String name)
从接口复制的说明:AttributeAccessor
Returntrue
if the attribute identified byname
exists. Otherwise returnfalse
.- 指定者:
hasAttribute
在接口中AttributeAccessor
- 参数:
name
- the unique attribute key
attributeNames
public String[] attributeNames()
从接口复制的说明:AttributeAccessor
Return the names of all attributes.- 指定者:
attributeNames
在接口中AttributeAccessor