接口的使用
org.springframework.test.context.TestContext
使用TestContext的程序包 程序包 说明 org.springframework.test.context This package contains the Spring TestContext Framework which provides annotation-driven unit and integration testing support that is agnostic of the actual testing framework in use.org.springframework.test.context.event Test event support classes for the Spring TestContext Framework.org.springframework.test.context.jdbc JDBC support classes for the Spring TestContext Framework, including support for declarative SQL script execution via@Sql
.org.springframework.test.context.support Support classes for the Spring TestContext Framework.org.springframework.test.context.transaction Transactional support classes for the Spring TestContext Framework.org.springframework.test.context.web Web support classes for the Spring TestContext Framework.org.springframework.test.context中TestContext的使用
返回TestContext的org.springframework.test.context中的方法 修饰符和类型 方法 说明 TestContext
TestContextBootstrapper. buildTestContext()
Build theTestContext
for theBootstrapContext
associated with this bootstrapper.TestContext
TestContextManager. getTestContext()
Get theTestContext
managed by thisTestContextManager
.参数类型为TestContext的org.springframework.test.context中的方法 修饰符和类型 方法 说明 default void
TestExecutionListener. afterTestClass(TestContext testContext)
Post-processes a test class after execution of all tests within the class.default void
TestExecutionListener. afterTestExecution(TestContext testContext)
Post-processes a test immediately after execution of thetest method
in the suppliedtest context
— for example, for timing or logging purposes.default void
TestExecutionListener. afterTestMethod(TestContext testContext)
Post-processes a test after execution of after lifecycle callbacks of the underlying test framework — for example, by tearing down test fixtures.default void
TestExecutionListener. beforeTestClass(TestContext testContext)
Pre-processes a test class before execution of all tests within the class.default void
TestExecutionListener. beforeTestExecution(TestContext testContext)
Pre-processes a test immediately before execution of thetest method
in the suppliedtest context
— for example, for timing or logging purposes.default void
TestExecutionListener. beforeTestMethod(TestContext testContext)
Pre-processes a test before execution of before lifecycle callbacks of the underlying test framework — for example, by setting up test fixtures.default void
TestExecutionListener. prepareTestInstance(TestContext testContext)
Prepares thetest instance
of the suppliedtest context
, for example by injecting dependencies.类型变量类型为TestContext的org.springframework.test.context中的方法参数 修饰符和类型 方法 说明 default void
TestContext. publishEvent(Function<TestContext,? extends ApplicationEvent> eventFactory)
Publish theApplicationEvent
created by the giveneventFactory
to the application context for this test context.org.springframework.test.context.event中TestContext的使用
返回TestContext的org.springframework.test.context.event中的方法 修饰符和类型 方法 说明 TestContext
TestContextEvent. getSource()
Get theTestContext
associated with this event.TestContext
TestContextEvent. getTestContext()
Alias forTestContextEvent.getSource()
.参数类型为TestContext的org.springframework.test.context.event中的方法 修饰符和类型 方法 说明 void
EventPublishingTestExecutionListener. afterTestClass(TestContext testContext)
void
EventPublishingTestExecutionListener. afterTestExecution(TestContext testContext)
void
EventPublishingTestExecutionListener. afterTestMethod(TestContext testContext)
void
EventPublishingTestExecutionListener. beforeTestClass(TestContext testContext)
void
EventPublishingTestExecutionListener. beforeTestExecution(TestContext testContext)
void
EventPublishingTestExecutionListener. beforeTestMethod(TestContext testContext)
void
EventPublishingTestExecutionListener. prepareTestInstance(TestContext testContext)
参数类型为TestContext的org.springframework.test.context.event中的构造器 构造器 说明 AfterTestClassEvent(TestContext source)
AfterTestExecutionEvent(TestContext source)
AfterTestMethodEvent(TestContext source)
BeforeTestClassEvent(TestContext source)
BeforeTestExecutionEvent(TestContext source)
BeforeTestMethodEvent(TestContext source)
PrepareTestInstanceEvent(TestContext source)
TestContextEvent(TestContext source)
Create a newTestContextEvent
.org.springframework.test.context.jdbc中TestContext的使用
参数类型为TestContext的org.springframework.test.context.jdbc中的方法 修饰符和类型 方法 说明 void
SqlScriptsTestExecutionListener. afterTestMethod(TestContext testContext)
Execute SQL scripts configured via@Sql
for the suppliedTestContext
after the current test method.void
SqlScriptsTestExecutionListener. beforeTestMethod(TestContext testContext)
Execute SQL scripts configured via@Sql
for the suppliedTestContext
before the current test method.org.springframework.test.context.support中TestContext的使用
实现TestContext的org.springframework.test.context.support中的类 修饰符和类型 类 说明 class
DefaultTestContext
Default implementation of theTestContext
interface.返回TestContext的org.springframework.test.context.support中的方法 修饰符和类型 方法 说明 TestContext
AbstractTestContextBootstrapper. buildTestContext()
Build a newDefaultTestContext
using the test class in theBootstrapContext
associated with this bootstrapper and by delegating toAbstractTestContextBootstrapper.buildMergedContextConfiguration()
andAbstractTestContextBootstrapper.getCacheAwareContextLoaderDelegate()
.参数类型为TestContext的org.springframework.test.context.support中的方法 修饰符和类型 方法 说明 void
AbstractTestExecutionListener. afterTestClass(TestContext testContext)
The default implementation is empty.void
DirtiesContextTestExecutionListener. afterTestClass(TestContext testContext)
If the test class of the supplied test context is annotated with@DirtiesContext
and the class mode is set toAFTER_CLASS
, the application context of the test context will be marked as dirty, and theREINJECT_DEPENDENCIES_ATTRIBUTE
in the test context will be set totrue
.void
AbstractTestExecutionListener. afterTestExecution(TestContext testContext)
The default implementation is empty.void
AbstractTestExecutionListener. afterTestMethod(TestContext testContext)
The default implementation is empty.void
DirtiesContextTestExecutionListener. afterTestMethod(TestContext testContext)
If the current test method of the supplied test context is annotated with@DirtiesContext
and the method mode is set toAFTER_METHOD
, or if the test class is annotated with@DirtiesContext
and the class mode is set toAFTER_EACH_TEST_METHOD
, the application context of the test context will be marked as dirty and theREINJECT_DEPENDENCIES_ATTRIBUTE
in the test context will be set totrue
.protected void
AbstractDirtiesContextTestExecutionListener. beforeOrAfterTestClass(TestContext testContext, DirtiesContext.ClassMode requiredClassMode)
Perform the actual work forAbstractTestExecutionListener.beforeTestClass(org.springframework.test.context.TestContext)
andAbstractTestExecutionListener.afterTestClass(org.springframework.test.context.TestContext)
by dirtying the context if appropriate (i.e., according to the required mode).protected void
AbstractDirtiesContextTestExecutionListener. beforeOrAfterTestMethod(TestContext testContext, DirtiesContext.MethodMode requiredMethodMode, DirtiesContext.ClassMode requiredClassMode)
Perform the actual work forAbstractTestExecutionListener.beforeTestMethod(org.springframework.test.context.TestContext)
andAbstractTestExecutionListener.afterTestMethod(org.springframework.test.context.TestContext)
by dirtying the context if appropriate (i.e., according to the required modes).void
AbstractTestExecutionListener. beforeTestClass(TestContext testContext)
The default implementation is empty.void
DirtiesContextBeforeModesTestExecutionListener. beforeTestClass(TestContext testContext)
If the test class of the supplied test context is annotated with@DirtiesContext
and the class mode is set toBEFORE_CLASS
, the application context of the test context will be marked as dirty, and theREINJECT_DEPENDENCIES_ATTRIBUTE
in the test context will be set totrue
.void
AbstractTestExecutionListener. beforeTestExecution(TestContext testContext)
The default implementation is empty.void
AbstractTestExecutionListener. beforeTestMethod(TestContext testContext)
The default implementation is empty.void
DependencyInjectionTestExecutionListener. beforeTestMethod(TestContext testContext)
If theDependencyInjectionTestExecutionListener.REINJECT_DEPENDENCIES_ATTRIBUTE
in the suppliedtest context
has a value ofBoolean.TRUE
, this method will have the same effect asprepareTestInstance()
; otherwise, this method will have no effect.void
DirtiesContextBeforeModesTestExecutionListener. beforeTestMethod(TestContext testContext)
If the current test method of the supplied test context is annotated with@DirtiesContext
and the method mode is set toBEFORE_METHOD
, or if the test class is annotated with@DirtiesContext
and the class mode is set toBEFORE_EACH_TEST_METHOD
, the application context of the test context will be marked as dirty and theREINJECT_DEPENDENCIES_ATTRIBUTE
in the test context will be set totrue
.protected void
AbstractDirtiesContextTestExecutionListener. dirtyContext(TestContext testContext, DirtiesContext.HierarchyMode hierarchyMode)
Mark the application context of the supplied test context as dirty and setREINJECT_DEPENDENCIES_ATTRIBUTE
in the test context totrue
.protected void
DependencyInjectionTestExecutionListener. injectDependencies(TestContext testContext)
Performs dependency injection and bean initialization for the suppliedTestContext
as described inprepareTestInstance()
.void
AbstractTestExecutionListener. prepareTestInstance(TestContext testContext)
The default implementation is empty.void
DependencyInjectionTestExecutionListener. prepareTestInstance(TestContext testContext)
Performs dependency injection on thetest instance
of the suppliedtest context
byautowiring
andinitializing
the test instance via its ownapplication context
(without checking dependencies).org.springframework.test.context.transaction中TestContext的使用
参数类型为TestContext的org.springframework.test.context.transaction中的方法 修饰符和类型 方法 说明 void
TransactionalTestExecutionListener. afterTestMethod(TestContext testContext)
If a transaction is currently active for the supplied test context, this method will end the transaction and run@AfterTransaction
methods.void
TransactionalTestExecutionListener. beforeTestMethod(TestContext testContext)
If the test method of the supplied test context is configured to run within a transaction, this method will run@BeforeTransaction
methods and start a new transaction.static TransactionAttribute
TestContextTransactionUtils. createDelegatingTransactionAttribute(TestContext testContext, TransactionAttribute targetAttribute)
Create a delegatingTransactionAttribute
for the supplied targetTransactionAttribute
andTestContext
, using the names of the test class and test method to build the name of the transaction.protected PlatformTransactionManager
TransactionalTestExecutionListener. getTransactionManager(TestContext testContext)
Get the transaction manager to use for the supplied test context.protected PlatformTransactionManager
TransactionalTestExecutionListener. getTransactionManager(TestContext testContext, String qualifier)
protected boolean
TransactionalTestExecutionListener. isDefaultRollback(TestContext testContext)
Determine whether or not to rollback transactions by default for the supplied test context.protected boolean
TransactionalTestExecutionListener. isRollback(TestContext testContext)
Determine whether or not to rollback transactions for the supplied test context by taking into consideration the default rollback flag and a possible method-level override via the@Rollback
annotation.static DataSource
TestContextTransactionUtils. retrieveDataSource(TestContext testContext, String name)
Retrieve theDataSource
to use for the supplied test context.static PlatformTransactionManager
TestContextTransactionUtils. retrieveTransactionManager(TestContext testContext, String name)
Retrieve the transaction manager to use for the supplied test context.protected void
TransactionalTestExecutionListener. runAfterTransactionMethods(TestContext testContext)
Run all@AfterTransaction
methods for the specified test context.protected void
TransactionalTestExecutionListener. runBeforeTransactionMethods(TestContext testContext)
Run all@BeforeTransaction
methods for the specified test context.org.springframework.test.context.web中TestContext的使用
参数类型为TestContext的org.springframework.test.context.web中的方法 修饰符和类型 方法 说明 void
ServletTestExecutionListener. afterTestMethod(TestContext testContext)
If theServletTestExecutionListener.RESET_REQUEST_CONTEXT_HOLDER_ATTRIBUTE
in the suppliedTestContext
has a value ofBoolean.TRUE
, this method will (1) clean up thread-local state after each test method by resetting Spring Web'sRequestContextHolder
and (2) ensure that new mocks are injected into the test instance for subsequent tests by setting theDependencyInjectionTestExecutionListener.REINJECT_DEPENDENCIES_ATTRIBUTE
in the test context totrue
.void
ServletTestExecutionListener. beforeTestMethod(TestContext testContext)
Sets up thread-local state before each test method via Spring Web'sRequestContextHolder
, but only if the test class is annotated with@WebAppConfiguration
.void
ServletTestExecutionListener. prepareTestInstance(TestContext testContext)
Sets up thread-local state during the test instance preparation callback phase via Spring Web'sRequestContextHolder
, but only if the test class is annotated with@WebAppConfiguration
.