public class DependencyInjectionTestExecutionListener extends AbstractTestExecutionListener
TestExecutionListener
which provides support for dependency
injection and initialization of test instances.Modifier and Type | Field and Description |
---|---|
static String |
REINJECT_DEPENDENCIES_ATTRIBUTE
Attribute name for a
TestContext attribute which indicates
whether or not the dependencies of a test instance should be
reinjected in
beforeTestMethod() . |
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
Constructor and Description |
---|
DependencyInjectionTestExecutionListener() |
Modifier and Type | Method and Description |
---|---|
void |
beforeTestMethod(TestContext testContext)
If the
REINJECT_DEPENDENCIES_ATTRIBUTE in the supplied
test context has a value of Boolean.TRUE ,
this method will have the same effect as
prepareTestInstance() ;
otherwise, this method will have no effect. |
int |
getOrder()
Returns
2000 . |
protected void |
injectDependencies(TestContext testContext)
Performs dependency injection and bean initialization for the supplied
TestContext as described in
prepareTestInstance() . |
void |
prepareTestInstance(TestContext testContext)
Performs dependency injection on the
test instance of the supplied
test context by
autowiring
and
initializing
the test instance via its own
application context (without
checking dependencies). |
afterTestClass, afterTestExecution, afterTestMethod, beforeTestClass, beforeTestExecution
public static final String REINJECT_DEPENDENCIES_ATTRIBUTE
TestContext
attribute which indicates
whether or not the dependencies of a test instance should be
reinjected in
beforeTestMethod()
. Note that
dependencies will be injected in
prepareTestInstance()
in any
case.
Clients of a TestContext
(e.g., other
TestExecutionListeners
)
may therefore choose to set this attribute to signal that dependencies
should be reinjected between execution of individual test
methods.
Permissible values include Boolean.TRUE
and Boolean.FALSE
.
public DependencyInjectionTestExecutionListener()
public final int getOrder()
2000
.getOrder
in interface Ordered
getOrder
in class AbstractTestExecutionListener
Ordered.HIGHEST_PRECEDENCE
,
Ordered.LOWEST_PRECEDENCE
public void prepareTestInstance(TestContext testContext) throws Exception
test instance
of the supplied
test context
by
autowiring
and
initializing
the test instance via its own
application context
(without
checking dependencies).
The REINJECT_DEPENDENCIES_ATTRIBUTE
will be subsequently removed
from the test context, regardless of its value.
prepareTestInstance
in interface TestExecutionListener
prepareTestInstance
in class AbstractTestExecutionListener
testContext
- the test context for the test; never null
Exception
- allows any exception to propagatepublic void beforeTestMethod(TestContext testContext) throws Exception
REINJECT_DEPENDENCIES_ATTRIBUTE
in the supplied
test context
has a value of Boolean.TRUE
,
this method will have the same effect as
prepareTestInstance()
;
otherwise, this method will have no effect.beforeTestMethod
in interface TestExecutionListener
beforeTestMethod
in class AbstractTestExecutionListener
testContext
- the test context in which the test method will be
executed; never null
Exception
- allows any exception to propagateTestExecutionListener.afterTestMethod(org.springframework.test.context.TestContext)
,
TestExecutionListener.beforeTestExecution(org.springframework.test.context.TestContext)
,
TestExecutionListener.afterTestExecution(org.springframework.test.context.TestContext)
protected void injectDependencies(TestContext testContext) throws Exception
TestContext
as described in
prepareTestInstance()
.
The REINJECT_DEPENDENCIES_ATTRIBUTE
will be subsequently removed
from the test context, regardless of its value.
testContext
- the test context for which dependency injection should
be performed (never null
)Exception
- allows any exception to propagateprepareTestInstance(TestContext)
,
beforeTestMethod(TestContext)