Class AbstractTestNGSpringContextTests
java.lang.Object
org.springframework.test.context.testng.AbstractTestNGSpringContextTests
- All Implemented Interfaces:
Aware
,ApplicationContextAware
,org.testng.IHookable
,org.testng.ITestNGListener
- Direct Known Subclasses:
AbstractTransactionalTestNGSpringContextTests
@TestExecutionListeners({ServletTestExecutionListener.class,DirtiesContextBeforeModesTestExecutionListener.class,ApplicationEventsTestExecutionListener.class,DependencyInjectionTestExecutionListener.class,DirtiesContextTestExecutionListener.class,EventPublishingTestExecutionListener.class})
public abstract class AbstractTestNGSpringContextTests
extends Object
implements org.testng.IHookable, ApplicationContextAware
Abstract base test class which integrates the Spring TestContext Framework
with explicit
ApplicationContext
testing support in a TestNG
environment.
Concrete subclasses should typically declare a class-level
@ContextConfiguration
annotation to
configure the application context resource locations or component classes. If your test does not
need to load an application context, you may choose to omit the
@ContextConfiguration
declaration and to configure
the appropriate TestExecutionListeners
manually. Concrete subclasses must also have
constructors which either implicitly or explicitly delegate to super();
.
The following TestExecutionListeners
are configured by default:
- Since:
- 2.5
- Author:
- Sam Brannen, Juergen Hoeller
- See Also:
-
ContextConfiguration
TestContext
TestContextManager
TestExecutionListeners
ServletTestExecutionListener
DirtiesContextBeforeModesTestExecutionListener
ApplicationEventsTestExecutionListener
DependencyInjectionTestExecutionListener
DirtiesContextTestExecutionListener
EventPublishingTestExecutionListener
AbstractTransactionalTestNGSpringContextTests
AbstractJUnit4SpringContextTests
-
Field Summary
Modifier and TypeFieldDescriptionprotected ApplicationContext
TheApplicationContext
that was injected into this test instance viasetApplicationContext(ApplicationContext)
.protected final Log
Logger available to subclasses. -
Constructor Summary
ConstructorDescriptionConstruct a newAbstractTestNGSpringContextTests
instance and initialize the internalTestContextManager
for the current test class. -
Method Summary
Modifier and TypeMethodDescriptionvoid
run
(org.testng.IHookCallBack callBack, org.testng.ITestResult testResult) Delegates to the test method in the suppliedcallback
to execute the actual test and then tracks the exception thrown during test execution, if any.final void
setApplicationContext
(ApplicationContext applicationContext) Set theApplicationContext
to be used by this test instance, provided viaApplicationContextAware
semantics.protected void
Delegates to the configuredTestContextManager
to call 'after test class' callbacks.protected void
springTestContextAfterTestMethod
(Method testMethod) Delegates to the configuredTestContextManager
to post-process the test method after the actual test has executed.protected void
Delegates to the configuredTestContextManager
to call 'before test class' callbacks.protected void
springTestContextBeforeTestMethod
(Method testMethod) Delegates to the configuredTestContextManager
to pre-process the test method before the actual test is executed.protected void
Delegates to the configuredTestContextManager
to prepare this test instance prior to execution of any individual tests, for example for injecting dependencies, etc.
-
Field Details
-
logger
Logger available to subclasses. -
applicationContext
TheApplicationContext
that was injected into this test instance viasetApplicationContext(ApplicationContext)
.
-
-
Constructor Details
-
AbstractTestNGSpringContextTests
public AbstractTestNGSpringContextTests()Construct a newAbstractTestNGSpringContextTests
instance and initialize the internalTestContextManager
for the current test class.
-
-
Method Details
-
setApplicationContext
Set theApplicationContext
to be used by this test instance, provided viaApplicationContextAware
semantics.- Specified by:
setApplicationContext
in interfaceApplicationContextAware
- Parameters:
applicationContext
- the ApplicationContext that this test runs in- See Also:
-
springTestContextBeforeTestClass
Delegates to the configuredTestContextManager
to call 'before test class' callbacks.- Throws:
Exception
- if a registered TestExecutionListener throws an exception
-
springTestContextPrepareTestInstance
@BeforeClass(alwaysRun=true, dependsOnMethods="springTestContextBeforeTestClass") protected void springTestContextPrepareTestInstance() throws ExceptionDelegates to the configuredTestContextManager
to prepare this test instance prior to execution of any individual tests, for example for injecting dependencies, etc.- Throws:
Exception
- if a registered TestExecutionListener throws an exception
-
springTestContextBeforeTestMethod
@BeforeMethod(alwaysRun=true) protected void springTestContextBeforeTestMethod(Method testMethod) throws Exception Delegates to the configuredTestContextManager
to pre-process the test method before the actual test is executed.- Parameters:
testMethod
- the test method which is about to be executed- Throws:
Exception
- allows all exceptions to propagate
-
run
public void run(org.testng.IHookCallBack callBack, org.testng.ITestResult testResult) Delegates to the test method in the suppliedcallback
to execute the actual test and then tracks the exception thrown during test execution, if any.- Specified by:
run
in interfaceorg.testng.IHookable
- See Also:
-
IHookable.run(IHookCallBack, ITestResult)
-
springTestContextAfterTestMethod
@AfterMethod(alwaysRun=true) protected void springTestContextAfterTestMethod(Method testMethod) throws Exception Delegates to the configuredTestContextManager
to post-process the test method after the actual test has executed.- Parameters:
testMethod
- the test method which has just been executed on the test instance- Throws:
Exception
- allows all exceptions to propagate
-
springTestContextAfterTestClass
Delegates to the configuredTestContextManager
to call 'after test class' callbacks.- Throws:
Exception
- if a registered TestExecutionListener throws an exception
-