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,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 explicitApplicationContexttesting support in a TestNG environment.Concrete subclasses should typically declare a class-level
@ContextConfigurationannotation to configure the application contextresource locations or component classes. If your test does not need to load an application context, you may choose to omit the@ContextConfigurationdeclaration and to configure the appropriateTestExecutionListenersmanually. Concrete subclasses must also have constructors which either implicitly or explicitly delegate tosuper();.The following
TestExecutionListenersare configured by default:- Since:
- 2.5
- Author:
- Sam Brannen, Juergen Hoeller
- See Also:
ContextConfiguration,TestContext,TestContextManager,TestExecutionListeners,ServletTestExecutionListener,DirtiesContextBeforeModesTestExecutionListener,DependencyInjectionTestExecutionListener,DirtiesContextTestExecutionListener,EventPublishingTestExecutionListener,AbstractTransactionalTestNGSpringContextTests,AbstractJUnit4SpringContextTests
Field Summary
Fields Modifier and Type Field Description protected ApplicationContextapplicationContextTheApplicationContextthat was injected into this test instance viasetApplicationContext(ApplicationContext).protected LogloggerLogger available to subclasses.
Constructor Summary
Constructors Constructor Description AbstractTestNGSpringContextTests()Construct a newAbstractTestNGSpringContextTestsinstance and initialize the internalTestContextManagerfor the current test class.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidrun(org.testng.IHookCallBack callBack, org.testng.ITestResult testResult)Delegates to the test method in the suppliedcallbackto execute the actual test and then tracks the exception thrown during test execution, if any.voidsetApplicationContext(ApplicationContext applicationContext)Set theApplicationContextto be used by this test instance, provided viaApplicationContextAwaresemantics.protected voidspringTestContextAfterTestClass()Delegates to the configuredTestContextManagerto call 'after test class' callbacks.protected voidspringTestContextAfterTestMethod(Method testMethod)Delegates to the configuredTestContextManagerto post-process the test method after the actual test has executed.protected voidspringTestContextBeforeTestClass()Delegates to the configuredTestContextManagerto call 'before test class' callbacks.protected voidspringTestContextBeforeTestMethod(Method testMethod)Delegates to the configuredTestContextManagerto pre-process the test method before the actual test is executed.protected voidspringTestContextPrepareTestInstance()Delegates to the configuredTestContextManagerto prepare this test instance prior to execution of any individual tests, for example for injecting dependencies, etc.
Field Detail
applicationContext
@Nullable protected ApplicationContext applicationContext
TheApplicationContextthat was injected into this test instance viasetApplicationContext(ApplicationContext).
Constructor Detail
AbstractTestNGSpringContextTests
public AbstractTestNGSpringContextTests()
Construct a newAbstractTestNGSpringContextTestsinstance and initialize the internalTestContextManagerfor the current test class.
Method Detail
setApplicationContext
public final void setApplicationContext(ApplicationContext applicationContext)
Set theApplicationContextto be used by this test instance, provided viaApplicationContextAwaresemantics.- Specified by:
setApplicationContextin interfaceApplicationContextAware- Parameters:
applicationContext- the ApplicationContext that this test runs in- See Also:
BeanInitializationException
springTestContextBeforeTestClass
@BeforeClass(alwaysRun=true) protected void springTestContextBeforeTestClass() throws Exception
Delegates to the configuredTestContextManagerto 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 configuredTestContextManagerto 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 configuredTestContextManagerto 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 suppliedcallbackto execute the actual test and then tracks the exception thrown during test execution, if any.- Specified by:
runin interfaceorg.testng.IHookable- See Also:
IHookable.run(IHookCallBack, ITestResult)
springTestContextAfterTestMethod
@AfterMethod(alwaysRun=true) protected void springTestContextAfterTestMethod(Method testMethod) throws Exception
Delegates to the configuredTestContextManagerto 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
@AfterClass(alwaysRun=true) protected void springTestContextAfterTestClass() throws Exception
Delegates to the configuredTestContextManagerto call 'after test class' callbacks.- Throws:
Exception- if a registered TestExecutionListener throws an exception