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

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. Concrete subclasses must also have constructors which either implicitly or explicitly delegate to super();.

Since:
2.5
Author:
Sam Brannen, Juergen Hoeller
See Also:
  • Field Details

  • Constructor Details

    • AbstractTestNGSpringContextTests

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

    • 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 that this test runs in
      See Also:
    • springTestContextBeforeTestClass

      @BeforeClass(alwaysRun=true) protected void springTestContextBeforeTestClass() throws Exception
      Delegates to the configured TestContextManager 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 Exception
      Delegates to the configured TestContextManager 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 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:
      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 supplied callback to execute the actual test and then tracks the exception thrown during test execution, if any.
      Specified by:
      run in interface org.testng.IHookable
      See Also:
      • IHookable.run(IHookCallBack, ITestResult)
    • springTestContextAfterTestMethod

      @AfterMethod(alwaysRun=true) protected void springTestContextAfterTestMethod(Method testMethod) throws Exception
      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:
      Exception - allows all exceptions to propagate
    • springTestContextAfterTestClass

      @AfterClass(alwaysRun=true) protected void springTestContextAfterTestClass() throws Exception
      Delegates to the configured TestContextManager to call 'after test class' callbacks.
      Throws:
      Exception - if a registered TestExecutionListener throws an exception