クラス AbstractTestContextBootstrapper
- 実装されているすべてのインターフェース:
- TestContextBootstrapper
- 既知の直属サブクラス
- DefaultTestContextBootstrapper
TestContextBootstrapper インターフェースの抽象的な実装。具象サブクラスは通常、次のメソッドの実装を提供するだけで済みます。
- getDefaultContextLoaderClass(java.lang.Class<?>)
- processMergedContextConfiguration(org.springframework.test.context.MergedContextConfiguration)
 カスタム ContextCache サポートをプラグインするには、getCacheAwareContextLoaderDelegate() をオーバーライドします。
- 導入:
- 4.1
- 作成者:
- Sam Brannen, Juergen Hoeller, Phillip Webb
- コンストラクターの概要コンストラクター
- メソッドのサマリー修飾子と型メソッド説明このブートストラップに関連付けられた- BootstrapContext内のテストクラスのマージされたコンテキスト構成を構築します。このブートストラッパーに関連付けられた- BootstrapContextのテストクラスSEを使用し、- buildMergedContextConfiguration()および- getCacheAwareContextLoaderDelegate()に委譲することにより、新しい- DefaultTestContextをビルドします。このブートストラップに関連付けられている- BootstrapContextを取得します。- protected CacheAwareContextLoaderDelegate- ContextCacheとの透過的な相互作用に使用する- CacheAwareContextLoaderDelegateを取得します。- protected ListSE<ContextCustomizerFactory>このブートストラップの- ContextCustomizerFactoryインスタンスを取得します。- protected abstract ClassSE<? extends ContextLoader>- getDefaultContextLoaderClass- (ClassSE<?> testClass) 提供されたテストクラスに使用するデフォルトの- ContextLoaderクラスを決定SEします。- protected ListSE<TestExecutionListener>このブートストラッパーのデフォルト- TestExecutionListenersを取得します。- final ListSE<TestExecutionListener>このブートストラップに関連付けられた- BootstrapContextのテストクラス用に新しくインスタンス化された- TestExecutionListenersのリストを取得します。- protected MergedContextConfiguration- processMergedContextConfiguration- (MergedContextConfiguration mergedConfig) 提供され、新しくインスタンス化された- MergedContextConfigurationインスタンスを処理します。- protected ContextLoader- resolveContextLoader- (ClassSE<?> testClass, ListSE<ContextConfigurationAttributes> configAttributesList) - ContextConfigurationAttributesの提供されたリストに使用する- ContextLoaderSE クラスを解決してから、その- ContextLoaderをインスタンス化して返します。- protected ClassSE<? extends ContextLoader>- resolveExplicitContextLoaderClass- (ListSE<ContextConfigurationAttributes> configAttributesList) - void- setBootstrapContext- (BootstrapContext bootstrapContext) このブートストラップで使用する- BootstrapContextを設定します。
- コンストラクターの詳細- AbstractTestContextBootstrapperpublic AbstractTestContextBootstrapper()
 
- メソッドの詳細- setBootstrapContextインターフェースからコピーされた説明:- TestContextBootstrapperこのブートストラップで使用する- BootstrapContextを設定します。- 次で指定:
-  インターフェース TestContextBootstrapperのsetBootstrapContext
 
- getBootstrapContextインターフェースからコピーされた説明:- TestContextBootstrapperこのブートストラップに関連付けられている- BootstrapContextを取得します。- 次で指定:
-  インターフェース TestContextBootstrapperのgetBootstrapContext
 
- buildTestContextこのブートストラッパーに関連付けられた- BootstrapContextのテストクラスSEを使用し、- buildMergedContextConfiguration()および- getCacheAwareContextLoaderDelegate()に委譲することにより、新しい- DefaultTestContextをビルドします。- 具象サブクラスは、このメソッドをオーバーライドしてカスタム - TestContext実装を返すことを選択できます。- 次で指定:
-  インターフェース TestContextBootstrapperのbuildTestContext
- 戻り値:
-  新しい TestContext、決してnull
- 導入:
- 4.2
- 関連事項:
 
- getTestExecutionListenersインターフェースからコピーされた説明:- TestContextBootstrapperこのブートストラップに関連付けられた- BootstrapContextのテストクラス用に新しくインスタンス化された- TestExecutionListenersのリストを取得します。- @TestExecutionListenersが- BootstrapContextのテストクラスに存在しない場合、デフォルトのリスナーが返されます。さらに、デフォルトのリスナーは- AnnotationAwareOrderComparatorを使用してソートする必要があります。- 具体的な実装は、デフォルトのリスナーのセットを構成するものを自由に決定できます。ただし、デフォルトでは、Spring TestContext フレームワークは - SpringFactoriesLoaderメカニズムを使用して、クラスパス上のすべての- META-INF/spring.factoriesファイルで構成されているすべての- TestExecutionListenerクラス名を検索します。- @TestExecutionListenersの- inheritListenersフラグを考慮する必要があります。具体的には、- inheritListenersフラグが- trueに設定されている場合、特定のテストクラスに対して宣言されたリスナーは、スーパークラスまたはそれを囲むクラスで宣言されたリスナーのリストの最後に追加する必要があります。- 次で指定:
-  インターフェース TestContextBootstrapperのgetTestExecutionListeners
- 戻り値:
- TestExecutionListenerインスタンスのリスト
 
- getDefaultTestExecutionListenersこのブートストラッパーのデフォルト- TestExecutionListenersを取得します。- デフォルトの実装は - TestContextSpringFactoriesUtils.loadFactoryImplementations(Class)に委譲します。- このメソッドは - getTestExecutionListeners()によって呼び出されます。- 戻り値:
-  デフォルトの TestExecutionListenerインスタンスの変更不可能なリスト
- 導入:
- 6.0
 
- buildMergedContextConfigurationインターフェースからコピーされた説明:- TestContextBootstrapperこのブートストラップに関連付けられた- BootstrapContext内のテストクラスのマージされたコンテキスト構成を構築します。- マージされた構成を構築する場合、実装では次のことを考慮する必要があります。 - @ContextHierarchyおよび- @ContextConfigurationを介して宣言されたコンテキスト階層
- @ActiveProfilesを介して宣言されたアクティブな Bean 定義プロファイル
- ContextConfiguration.initializers()を介して宣言されたコンテキスト初期化子
- @TestPropertySourceを介して宣言されたプロパティソースのテスト
 - 必要なセマンティクスの詳細については、前述のアノテーションについて Javadoc を参照してください。 - TestContextBootstrapper.buildTestContext()の実装は、通常、- TestContextを構築するときにこのメソッドに委譲する必要があることに注意してください。- 特定のテストクラスに使用する - ContextLoaderを決定するときは、次のアルゴリズムを使用する必要があります。- ContextLoaderクラスが- ContextConfiguration.loader()を介して明示的に宣言されている場合は、それを使用してください。
-  それ以外の場合、具体的な実装は、デフォルトとして使用する ContextLoaderクラスを自由に決定できます。
 - 次で指定:
-  インターフェース TestContextBootstrapperのbuildMergedContextConfiguration
- 戻り値:
-  マージされたコンテキスト構成、決して null
- 関連事項:
 
- getContextCustomizerFactoriesこのブートストラップの- ContextCustomizerFactoryインスタンスを取得します。- デフォルトの実装は - TestContextSpringFactoriesUtils.loadFactoryImplementations(Class)に委譲します。- 導入:
- 4.3
 
- resolveContextLoaderprotected ContextLoader resolveContextLoader- (ClassSE<?> testClass, ListSE<ContextConfigurationAttributes> configAttributesList) - ContextConfigurationAttributesの提供されたリストに使用する- ContextLoaderSE クラスを解決してから、その- ContextLoaderをインスタンス化して返します。- ユーザーが使用するローダーを明示的に宣言していない場合は、 - getDefaultContextLoaderClass(java.lang.Class<?>)から返された値がデフォルトのコンテキストローダークラスとして使用されます。クラス解決プロセスの詳細については、- resolveExplicitContextLoaderClass(java.util.List<org.springframework.test.context.ContextConfigurationAttributes>)および- getDefaultContextLoaderClass(java.lang.Class<?>)を参照してください。- パラメーター:
- testClass-- ContextLoaderを解決する必要があるテストクラス。- nullであってはならない
- configAttributesList- 処理する構成属性のリスト。- nullであってはなりません。ボトムアップで並べ替える必要があります (つまり、クラス階層をトラバースしてクラス階層を囲んでいるかのように)
- 戻り値:
-  提供された testClassの解決されたContextLoader(非null)
- 例外:
- IllegalStateExceptionSE-- getDefaultContextLoaderClass(Class)が- nullを返す場合
 
- resolveExplicitContextLoaderClass@Nullable protected ClassSE<? extends ContextLoader> resolveExplicitContextLoaderClass- (ListSE<ContextConfigurationAttributes> configAttributesList) - ContextConfigurationAttributesの提供されたリストに使用する- ContextLoaderクラスを解決SEします。- コンテキスト構成属性階層の最初のレベルから始めます。 - ContextConfigurationAttributesの- contextLoaderClassプロパティが明示的なクラスで構成されている場合、そのクラスが返されます。
-  明示的な ContextLoaderクラスが階層の現在のレベルで指定されていない場合は、階層の次のレベルに移動して、ステップ #1 に戻ります。
 - パラメーター:
- configAttributesList- 処理する構成属性のリスト。- nullであってはなりません。ボトムアップで並べ替える必要があります (つまり、クラス階層をトラバースしてクラス階層を囲んでいるかのように)
- 戻り値:
-  指定された構成属性に使用する ContextLoaderクラス、または明示的なローダーが見つからない場合はnull
- 例外:
- IllegalArgumentExceptionSE- 指定された構成属性が- nullまたは空の場合
 
- getCacheAwareContextLoaderDelegate- ContextCacheとの透過的な相互作用に使用する- CacheAwareContextLoaderDelegateを取得します。- デフォルトの実装は - getBootstrapContext().getCacheAwareContextLoaderDelegate()に委譲し、デフォルトの実装はサービス読み込みメカニズムを介して- ApplicationContextFailureProcessorを読み込みます。- 具象サブクラスは、このメソッドをオーバーライドして、カスタム - ContextCacheサポートを備えたカスタム- CacheAwareContextLoaderDelegate実装を返すことを選択できます。- 戻り値:
-  コンテキストローダーデリゲート (非 null)
- 関連事項:
 
- getDefaultContextLoaderClassprotected abstract ClassSE<? extends ContextLoader> getDefaultContextLoaderClass- (ClassSE<?> testClass) 提供されたテストクラスに使用するデフォルトの- ContextLoaderクラスを決定SEします。- このメソッドによって返されるクラスは、 - ContextLoaderクラスが- ContextConfiguration.loader()を介して明示的に宣言されていない場合にのみ使用されます。- パラメーター:
- testClass- デフォルトの- ContextLoaderクラスを取得するテストクラス
- 戻り値:
-  指定されたテストクラスのデフォルト ContextLoaderクラス (非null)
 
- processMergedContextConfigurationprotected MergedContextConfiguration processMergedContextConfiguration- (MergedContextConfiguration mergedConfig) 提供され、新しくインスタンス化された- MergedContextConfigurationインスタンスを処理します。- 返される - MergedContextConfigurationインスタンスは、元のラッパーまたはその代わりになる可能性があります。- デフォルトの実装は、指定されたインスタンスを変更せずに返すだけです。 - 具象サブクラスは、提供されたインスタンスのプロパティに基づいて、 - MergedContextConfigurationの特殊なサブクラスを返すことを選択できます。- パラメーター:
- mergedConfig- 処理する- MergedContextConfiguration。- null
- 戻り値:
-  完全に初期化された MergedContextConfiguration;null