インターフェース TestContext

すべてのスーパーインターフェース:
AttributeAccessorSerializableSE
すべての既知の実装クラス:
DefaultTestContext

public interface TestContext extends AttributeAccessor, SerializableSE
TestContext は、テストが実行されるコンテキストをカプセル化します。使用中の実際のテストフレームワークには依存しません。

Spring Framework 5.0 以降、具体的な実装では、TestContext の不変の状態と属性を、並列テストの実行用に作成された追加のコンテキストのテンプレートとして使用できるように、コピーコンストラクターを実装することを強くお勧めします。コピーコンストラクターは、具象実装の型の単一の引数を受け入れる必要があります。コピーコンストラクターを提供しない実装は、テストを同時に実行する環境では失敗する可能性があります。

Spring Framework 6.1 以降、具体的な実装では setMethodInvoker(MethodInvoker) および getMethodInvoker() をオーバーライドすることが強く推奨されています。

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

    • hasApplicationContext

      default boolean hasApplicationContext()
      このテストコンテキストのアプリケーションコンテキストが利用可能であることがわかっているかどうかを確認します。

      このメソッドが true を返す場合、その後の getApplicationContext() の呼び出しは成功するはずです。

      このメソッドのデフォルト実装は、常に false を返します。カスタム TestContext 実装では、このメソッドをより意味のある実装でオーバーライドすることを強くお勧めします。Spring の標準 TestContext 実装がこのメソッドを適切にオーバーライドすることに注意してください。

      戻り値:
      アプリケーションコンテキストがすでに読み込まれている場合は true 
      導入:
      5.2
      関連事項:
    • getApplicationContext

      ApplicationContext getApplicationContext()
      おそらくキャッシュされている、このテストコンテキストのアプリケーションコンテキストを取得します。

      このメソッドの実装は、対応するコンテキストがまだロードされていない場合にアプリケーションコンテキストをロードし、場合によってはコンテキストもキャッシュします。

      戻り値:
      アプリケーションコンテキスト (非 null)
      例外:
      IllegalStateExceptionSE - アプリケーションコンテキストの取得中にエラーが発生した場合
      関連事項:
    • publishEvent

      default void publishEvent(FunctionSE<TestContext,? extends ApplicationEvent> eventFactory)
      指定された eventFactory によって作成された ApplicationEvent を、このテストコンテキストのアプリケーションコンテキストに発行します。

      ApplicationEvent は、このテストコンテキストのアプリケーションコンテキストが使用可能な場合にのみ公開されます。

      パラメーター:
      eventFactory - ApplicationEvent の遅延作成のためのファクトリ
      導入:
      5.2
      関連事項:
    • getTestClass

      ClassSE<?> getTestClass()
      このテストコンテキストのテストクラスSEを取得します。
      戻り値:
      テストクラス (非 null)
    • getTestInstance

      ObjectSE getTestInstance()
      このテストコンテキストの現在のテストインスタンスを取得SEします。

      メモ: これは変更可能なプロパティです。

      戻り値:
      現在のテストインスタンス (非 null)
      関連事項:
    • getTestMethod

      MethodSE getTestMethod()
      このテストコンテキストの現在のテストメソッドを取得SEします。

      メモ: これは変更可能なプロパティです。

      戻り値:
      現在のテストメソッド (非 null)
      関連事項:
    • getTestException

      @Nullable ThrowableSE getTestException()
      テストメソッドの実行中にスローされた例外SEを取得します。

      メモ: これは変更可能なプロパティです。

      戻り値:
      スローされた例外、または例外がスローされなかった場合は null 
      関連事項:
    • markApplicationContextDirty

      void markApplicationContextDirty(@Nullable DirtiesContext.HierarchyMode hierarchyMode)
      このメソッドを呼び出して、このテストコンテキストに関連付けられているアプリケーションコンテキストがダーティであり、コンテキストキャッシュから削除する必要があることを通知します。

      テストでコンテキストが変更された場合は、これを行います。たとえば、シングルトン Bean の状態の変更、組み込みデータベースの状態の変更など。

      パラメーター:
      hierarchyMode - コンテキストが階層の一部である場合に適用されるコンテキストキャッシュのクリアモード (null の場合があります)
    • updateState

      void updateState(@Nullable ObjectSE testInstance, @Nullable MethodSE testMethod, @Nullable ThrowableSE testException)
      このテストコンテキストを更新して、現在実行中のテストの状態を反映させます。

      警告 : このメソッドは TestContextManager によってのみ呼び出されます。

      注意: このメソッドの同時呼び出しは、基盤となる実装によっては、スレッドセーフではない場合があります。

      パラメーター:
      testInstance - 現在のテストインスタンス (null の場合があります)
      testMethod - 現在のテストメソッド (null の場合があります)
      testException - テストメソッドでスローされた例外、または例外がスローされなかった場合は null 
    • setMethodInvoker

      default void setMethodInvoker(MethodInvoker methodInvoker)
      使用する MethodInvoker を設定します。

      デフォルトでは、このメソッドは何も行いません。

      具体的な実装では、提供された MethodInvoker を追跡し、getMethodInvoker() からそれを返す必要があります。Spring の標準 TestContext 実装は、このメソッドを適切にオーバーライドすることに注意してください。

      導入:
      6.1
    • getMethodInvoker

      default MethodInvoker getMethodInvoker()
      使用する MethodInvoker を取得します。

      デフォルトでは、このメソッドは MethodInvoker.DEFAULT_INVOKER を返します。

      具体的な実装では、setMethodInvoker(MethodInvoker) に提供された MethodInvoker を返す必要があります。Spring の標準 TestContext 実装は、このメソッドを適切にオーバーライドすることに注意してください。

      導入:
      6.1