インターフェース TestContextBootstrapper

すべての既知の実装クラス:
AbstractTestContextBootstrapperDefaultTestContextBootstrapperWebTestContextBootstrapper

public interface TestContextBootstrapper
TestContextBootstrapper は、Spring TestContext フレームワークをブートストラップするための SPI を定義します。

TestContextManager は TestContextBootstrapper を使用して、現在のテスト用の TestExecutionListeners を取得し、それが管理する TestContext を構築します。

構成

カスタムブートストラップ戦略は、直接またはメタアノテーションとして、@BootstrapWith を介してテストクラス(またはテストクラス階層)に対して構成できます。

ブートストラップが @BootstrapWith を介して明示的に構成されていない場合、@WebAppConfiguration の存在に応じて、DefaultTestContextBootstrapper または WebTestContextBootstrapper のいずれかが使用されます。

実装上の注意

具体的な実装では、public の引数なしのコンストラクターを提供する必要があります。

警告 : この SPI は、新しい要件に対応するために将来変更される可能性があります。実装者は、強くこのインターフェースを直接実装するのではなく AbstractTestContextBootstrapper または代わりに、その具象サブクラスの 1 を拡張すること は推奨されません。

導入:
4.1
作成者:
Sam Brannen
関連事項:
  • メソッドの詳細

    • setBootstrapContext

      void setBootstrapContext(BootstrapContext bootstrapContext)
      このブートストラップで使用する BootstrapContext を設定します。
    • getBootstrapContext

      BootstrapContext getBootstrapContext()
      このブートストラップに関連付けられている BootstrapContext を取得します。
    • buildTestContext

      TestContext buildTestContext()
      このブートストラップに関連付けられている BootstrapContextTestContext をビルドします。
      戻り値:
      新しい TestContext、決して null
      導入:
      4.2
      関連事項:
    • buildMergedContextConfiguration

      MergedContextConfiguration buildMergedContextConfiguration()
      このブートストラップに関連付けられた BootstrapContext 内のテストクラスのマージされたコンテキスト構成を構築します。

      マージされた構成を構築する場合、実装では次のことを考慮する必要があります。

      必要なセマンティクスの詳細については、前述のアノテーションについて Javadoc を参照してください。

      buildTestContext() の実装は、通常、TestContext を構築するときにこのメソッドに委譲する必要があることに注意してください。

      特定のテストクラスに使用する ContextLoader を決定するときは、次のアルゴリズムを使用する必要があります。

      1. ContextLoader クラスが ContextConfiguration.loader() を介して明示的に宣言されている場合は、それを使用してください。
      2. それ以外の場合、具体的な実装は、デフォルトとして使用する ContextLoader クラスを自由に決定できます。
      戻り値:
      マージされたコンテキスト構成、決して null
      関連事項:
    • getTestExecutionListeners

      ListSE<TestExecutionListener> getTestExecutionListeners()
      このブートストラップに関連付けられた BootstrapContext のテストクラス用に新しくインスタンス化された TestExecutionListeners のリストを取得します。

      @TestExecutionListeners が BootstrapContext のテストクラスに存在しない場合、デフォルトのリスナーが返されます。さらに、デフォルトのリスナーは AnnotationAwareOrderComparator を使用してソートする必要があります。

      具体的な実装は、デフォルトのリスナーのセットを構成するものを自由に決定できます。ただし、デフォルトでは、Spring TestContext フレームワークは SpringFactoriesLoader メカニズムを使用して、クラスパス上のすべての META-INF/spring.factories ファイルで構成されているすべての TestExecutionListener クラス名を検索します。

      @TestExecutionListenersinheritListeners フラグを考慮する必要があります。具体的には、inheritListeners フラグが true に設定されている場合、特定のテストクラスに対して宣言されたリスナーは、スーパークラスまたはそれを囲むクラスで宣言されたリスナーのリストの最後に追加する必要があります。

      戻り値:
      TestExecutionListener インスタンスのリスト