spring-framework / org.springframework.test.context.testng / AbstractTransactionalTestNGSpringContextTests

AbstractTransactionalTestNGSpringContextTests

@TestExecutionListeners([TransactionalTestExecutionListener, SqlScriptsTestExecutionListener]) @Transactional abstract class AbstractTransactionalTestNGSpringContextTests : AbstractTestNGSpringContextTests

Abstract Transactional extension of AbstractTestNGSpringContextTests which adds convenience functionality for JDBC access. Expects a DataSource bean and a PlatformTransactionManager bean to be defined in the Spring ApplicationContext.

This class exposes a JdbcTemplate and provides an easy way to count the number of rows in a table (potentially with a WHERE clause), delete from tables, drop tables, and execute SQL scripts within a transaction.

Concrete subclasses must fulfill the same requirements outlined in AbstractTestNGSpringContextTests.

The following org.springframework.test.context.TestExecutionListener are configured by default:

Author
Sam Brannen

Author
Juergen Hoeller

Since
2.5

See Also
AbstractTestNGSpringContextTestsorg.springframework.test.context.ContextConfigurationorg.springframework.test.context.TestExecutionListenersorg.springframework.test.context.transaction.TransactionalTestExecutionListenerorg.springframework.test.context.jdbc.SqlScriptsTestExecutionListenerorg.springframework.transaction.annotation.Transactionalorg.springframework.test.annotation.Commitorg.springframework.test.annotation.Rollbackorg.springframework.test.context.transaction.BeforeTransactionorg.springframework.test.context.transaction.AfterTransactionorg.springframework.test.jdbc.JdbcTestUtilsorg.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests

Constructors

<init>

AbstractTransactionalTestNGSpringContextTests()

Abstract Transactional extension of AbstractTestNGSpringContextTests which adds convenience functionality for JDBC access. Expects a DataSource bean and a PlatformTransactionManager bean to be defined in the Spring ApplicationContext.

This class exposes a JdbcTemplate and provides an easy way to count the number of rows in a table (potentially with a WHERE clause), delete from tables, drop tables, and execute SQL scripts within a transaction.

Concrete subclasses must fulfill the same requirements outlined in AbstractTestNGSpringContextTests.

The following org.springframework.test.context.TestExecutionListener are configured by default:

  • org.springframework.test.context.web.ServletTestExecutionListener
  • org.springframework.test.context.support.DependencyInjectionTestExecutionListener
  • org.springframework.test.context.support.DirtiesContextTestExecutionListener
  • org.springframework.test.context.transaction.TransactionalTestExecutionListener
  • org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener

Functions

setDataSource

open fun setDataSource(dataSource: DataSource): Unit

Set the DataSource, typically provided via Dependency Injection.

This method also instantiates the #jdbcTemplate instance variable.

setSqlScriptEncoding

open fun setSqlScriptEncoding(sqlScriptEncoding: String): Unit

Specify the encoding for SQL scripts, if different from the platform encoding.

Inherited Functions

run

open fun run(callBack: IHookCallBack, testResult: ITestResult): Unit

Delegates to the test in the supplied callback to execute the actual test and then tracks the exception thrown during test execution, if any.

setApplicationContext

fun setApplicationContext(applicationContext: ApplicationContext): Unit

Set the ApplicationContext to be used by this test instance, provided via ApplicationContextAware semantics.