クラス SqlScriptsTestExecutionListener
- 実装されたすべてのインターフェース:
Ordered
、AotTestExecutionListener
、TestExecutionListener
@Sql
アノテーションを介して構成された SQL scripts
およびインライン statements
の実行をサポートする TestExecutionListener
。 クラスレベルの実行フェーズ ( BEFORE_TEST_CLASS
または AFTER_TEST_CLASS
) に制限されているクラスレベルのアノテーションは、それぞれすべてのテストメソッドの前に 1 回、またはすべてのテストメソッドの後に 1 回実行されます。他のすべてのスクリプトとインラインステートメントは、executionPhase
フラグの構成値に応じて、対応するテストメソッドSEの実行前または後に実行されます。
スクリプトとインラインステートメントは、SqlConfig.transactionMode()
の設定値とトランザクションマネージャーの存在に応じて、トランザクションなしで、既存の Spring 管理トランザクション内、分離されたトランザクション内で実行されます。
スクリプトリソース
デフォルトのスクリプト検出およびスクリプトリソースの場所の解釈方法の詳細については、Sql.scripts()
を参照してください。
必須の Spring Bean
PlatformTransactionManager
および DataSource
SE、単に PlatformTransactionManager
、単に DataSource
SE を、対応するテストの 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
- 関連事項:
フィールドサマリー
インターフェース org.springframework.core.Ordered から継承されたフィールド
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
コンストラクターのサマリー
メソッドのサマリー
修飾子と型メソッド説明void
afterTestClass
(TestContext testContext) すべてのテストメソッドが実行された後、指定されたTestContext
に対して@Sql
経由で構成された SQL スクリプトをテストクラスごとに 1 回実行します。void
afterTestMethod
(TestContext testContext) 現在のテストメソッドの後に、指定されたTestContext
に対して@Sql
を介して構成された SQL スクリプトを実行します。void
beforeTestClass
(TestContext testContext) テストメソッドを実行する前に、指定されたTestContext
に対して@Sql
経由で構成された SQL スクリプトをテストクラスごとに 1 回実行します。void
beforeTestMethod
(TestContext testContext) 現在のテストメソッドの前に、提供されたTestContext
に対して@Sql
を介して構成された SQL スクリプトを実行します。final int
getOrder()
5000
を返します。void
processAheadOfTime
(RuntimeHints runtimeHints, ClassSE<?> testClass, ClassLoaderSE classLoader) 提供されたテストクラスとそのメソッドを処理し、@Sql
を介してクラスパスリソースとして構成または検出された SQL スクリプトのランタイムヒントを登録します。クラス org.springframework.test.context.support.AbstractTestExecutionListener から継承されたメソッド
afterTestExecution, beforeTestExecution, prepareTestInstance
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.test.context.TestExecutionListener から継承されたメソッド
afterTestExecution, beforeTestExecution, prepareTestInstance
コンストラクターの詳細
SqlScriptsTestExecutionListener
public SqlScriptsTestExecutionListener()
メソッドの詳細
getOrder
public final int getOrder()5000
を返します。- 次で指定:
- インターフェース
Ordered
のgetOrder
- オーバーライド:
- クラス
AbstractTestExecutionListener
のgetOrder
- 戻り値:
- オーダー額
- 関連事項:
beforeTestClass
テストメソッドを実行する前に、指定されたTestContext
に対して@Sql
経由で構成された SQL スクリプトをテストクラスごとに 1 回実行します。- 次で指定:
- インターフェース
TestExecutionListener
のbeforeTestClass
- オーバーライド:
- クラス
AbstractTestExecutionListener
のbeforeTestClass
- パラメーター:
testContext
- テストのテストコンテキスト。null
- 例外:
ExceptionSE
- 例外の伝播を許可します- 導入:
- 6.1
afterTestClass
すべてのテストメソッドが実行された後、指定されたTestContext
に対して@Sql
経由で構成された SQL スクリプトをテストクラスごとに 1 回実行します。- 次で指定:
- インターフェース
TestExecutionListener
のafterTestClass
- オーバーライド:
- クラス
AbstractTestExecutionListener
のafterTestClass
- パラメーター:
testContext
- テストのテストコンテキスト。null
- 例外:
ExceptionSE
- 例外の伝播を許可します- 導入:
- 6.1
beforeTestMethod
現在のテストメソッドの前に、提供されたTestContext
に対して@Sql
を介して構成された SQL スクリプトを実行します。- 次で指定:
- インターフェース
TestExecutionListener
のbeforeTestMethod
- オーバーライド:
- クラス
AbstractTestExecutionListener
のbeforeTestMethod
- パラメーター:
testContext
- テストメソッドが実行されるテストコンテキスト。非null
- 関連事項:
afterTestMethod
現在のテストメソッドの後に、指定されたTestContext
に対して@Sql
を介して構成された SQL スクリプトを実行します。- 次で指定:
- インターフェース
TestExecutionListener
のafterTestMethod
- オーバーライド:
- クラス
AbstractTestExecutionListener
のafterTestMethod
- パラメーター:
testContext
- テストメソッドが実行されたテストコンテキスト ; 決してnull
- 関連事項:
processAheadOfTime
public void processAheadOfTime(RuntimeHints runtimeHints, ClassSE<?> testClass, ClassLoaderSE classLoader) 提供されたテストクラスとそのメソッドを処理し、@Sql
を介してクラスパスリソースとして構成または検出された SQL スクリプトのランタイムヒントを登録します。- 次で指定:
- インターフェース
AotTestExecutionListener
のprocessAheadOfTime
- パラメーター:
runtimeHints
- 使用するRuntimeHints
testClass
- 処理するテストクラスclassLoader
- 使用するクラスローダー- 導入:
- 6.0