org.springframework.test.context.testng
Class AbstractTestNGSpringContextTests

java.lang.Object
  extended by org.springframework.test.context.testng.AbstractTestNGSpringContextTests
All Implemented Interfaces:
ApplicationContextAware
Direct Known Subclasses:
AbstractTransactionalTestNGSpringContextTests

@TestExecutionListeners(value={DependencyInjectionTestExecutionListener.class,DirtiesContextTestExecutionListener.class})
public abstract class AbstractTestNGSpringContextTests
extends java.lang.Object
implements ApplicationContextAware

Abstract base test class which integrates the Spring TestContext Framework with explicit ApplicationContext testing support in a TestNG environment.

Concrete subclasses:

Since:
2.5
Author:
Sam Brannen, Juergen Hoeller
See Also:
TestContext, TestContextManager, TestExecutionListeners, AbstractTransactionalTestNGSpringContextTests, AbstractJUnit38SpringContextTests, AbstractJUnit4SpringContextTests

Field Summary
protected  ApplicationContext applicationContext
          The ApplicationContext that was injected into this test instance via setApplicationContext(ApplicationContext).
protected  Log logger
          Logger available to subclasses
private  TestContextManager testContextManager
           
private  java.lang.Throwable testException
           
 
Constructor Summary
AbstractTestNGSpringContextTests()
          Construct a new AbstractTestNGSpringContextTests instance and initialize the internal TestContextManager for the current test.
 
Method Summary
 void run(IHookCallBack callBack, ITestResult testResult)
          Delegates to the test method in the supplied callback to execute the actual test and then tracks the exception thrown during test execution, if any.
 void setApplicationContext(ApplicationContext applicationContext)
          Set the ApplicationContext to be used by this test instance, provided via ApplicationContextAware semantics.
protected  void springTestContextAfterTestClass()
          
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected final Log logger
Logger available to subclasses


applicationContext

protected ApplicationContext applicationContext
The ApplicationContext that was injected into this test instance via setApplicationContext(ApplicationContext).


testContextManager

private final TestContextManager testContextManager

testException

private java.lang.Throwable testException
Constructor Detail

AbstractTestNGSpringContextTests

public AbstractTestNGSpringContextTests()
Construct a new AbstractTestNGSpringContextTests instance and initialize the internal TestContextManager for the current test.

Method Detail

setApplicationContext

public final void setApplicationContext(ApplicationContext applicationContext)
Set the ApplicationContext to be used by this test instance, provided via ApplicationContextAware semantics.

Specified by:
setApplicationContext in interface ApplicationContextAware
Parameters:
applicationContext - the applicationContext to set
See Also:
BeanInitializationException

springTestContextBeforeTestClass

Delegates to the configured TestContextManager to call 'before test class' callbacks.

Throws:
java.lang.Exception - if a registered TestExecutionListener throws an exception

springTestContextPrepareTestInstance

Delegates to the configured TestContextManager to prepare this test instance prior to execution of any individual tests, for example for injecting dependencies, etc.

Throws:
java.lang.Exception - if a registered TestExecutionListener throws an exception

springTestContextBeforeTestMethod

Delegates to the configured TestContextManager to pre-process the test method before the actual test is executed.

Parameters:
testMethod - the test method which is about to be executed.
Throws:
java.lang.Exception - allows all exceptions to propagate.

run

public void run(IHookCallBack callBack,
                ITestResult testResult)
Delegates to the test method in the supplied callback to execute the actual test and then tracks the exception thrown during test execution, if any.

See Also:
org.testng.IHookable#run(org.testng.IHookCallBack, org.testng.ITestResult)

springTestContextAfterTestMethod

Delegates to the configured TestContextManager 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:
java.lang.Exception - allows all exceptions to propagate

springTestContextAfterTestClass

Delegates to the configured TestContextManager to call 'after test class' callbacks.

Throws:
java.lang.Exception - if a registered TestExecutionListener throws an exception