クラス SqlScriptsTestExecutionListener

java.lang.ObjectSE
org.springframework.test.context.support.AbstractTestExecutionListener
org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener
実装されたすべてのインターフェース:
OrderedAotTestExecutionListenerTestExecutionListener

public class SqlScriptsTestExecutionListener extends AbstractTestExecutionListener implements AotTestExecutionListener
@Sql アノテーションを介して構成された SQL scripts およびインライン statements の実行をサポートする TestExecutionListener

クラスレベルの実行フェーズ ( BEFORE_TEST_CLASS または AFTER_TEST_CLASS ) に制限されているクラスレベルのアノテーションは、それぞれすべてのテストメソッドの前に 1 回、またはすべてのテストメソッドの後に 1 回実行されます。他のすべてのスクリプトとインラインステートメントは、executionPhase フラグの構成値に応じて、対応するテストメソッドSEの実行またはに実行されます。

スクリプトとインラインステートメントは、SqlConfig.transactionMode() の設定値とトランザクションマネージャーの存在に応じて、トランザクションなしで、既存の Spring 管理トランザクション内、分離されたトランザクション内で実行されます。

スクリプトリソース

デフォルトのスクリプト検出およびスクリプトリソースの場所の解釈方法の詳細については、Sql.scripts() を参照してください。

必須の Spring Bean

PlatformTransactionManager および DataSourceSE、単に PlatformTransactionManager、単に DataSourceSE を、対応するテストの Spring ApplicationContext で Bean として定義する必要があります。許容される構成コンスタレーションおよびこれらの Bean を見つけるために使用されるアルゴリズムの詳細については、SqlConfig.transactionMode()SqlConfig.transactionManager()SqlConfig.dataSource()TestContextTransactionUtils.retrieveDataSource(org.springframework.test.context.TestContext, java.lang.String)TestContextTransactionUtils.retrieveTransactionManager(org.springframework.test.context.TestContext, java.lang.String) の javadoc を参照してください。

必要な依存関係

このリスナーを使用するには、spring-jdbc モジュールと spring-tx モジュール、およびそれらの推移的な依存関係がクラスパス上に存在する必要があります。

導入:
4.1
作成者:
Sam Brannen, Dmitry Semukhin, Andreas Ahlenstorf
関連事項: