インターフェース TestContext
- すべてのスーパーインターフェース:
- AttributeAccessor,- SerializableSE
- すべての既知の実装クラス:
- DefaultTestContext
TestContext は、テストが実行されるコンテキストをカプセル化します。使用中の実際のテストフレームワークには依存しません。Spring Framework 5.0 以降、具体的な実装では、TestContext の不変の状態と属性を、並列テストの実行用に作成された追加のコンテキストのテンプレートとして使用できるように、コピーコンストラクターを実装することを強くお勧めします。コピーコンストラクターは、具象実装の型の単一の引数を受け入れる必要があります。コピーコンストラクターを提供しない実装は、テストを同時に実行する環境では失敗する可能性があります。
Spring Framework 6.1 以降、具体的な実装では setMethodInvoker(MethodInvoker) および getMethodInvoker() をオーバーライドすることが強く推奨されています。
- 導入:
- 2.5
- 作成者:
- Sam Brannen
- 関連事項:
- メソッドのサマリー修飾子と型メソッド説明おそらくキャッシュされている、このテストコンテキストのアプリケーションコンテキストを取得します。- default MethodInvoker使用する- MethodInvokerを取得します。- ClassSE<?>このテストコンテキストのテストクラスSEを取得します。このテストコンテキストの現在のテストインスタンスを取得SEします。このテストコンテキストの現在のテストメソッドを取得SEします。- default booleanこのテストコンテキストのアプリケーションコンテキストが利用可能であることがわかっているかどうかを確認します。- void- markApplicationContextDirty- (DirtiesContext.HierarchyMode hierarchyMode) このメソッドを呼び出して、このテストコンテキストに関連付けられているアプリケーションコンテキストがダーティであり、コンテキストキャッシュから削除する必要があることを通知します。- default void- publishEvent- (FunctionSE<TestContext, - ? extends ApplicationEvent> eventFactory) - default void- setMethodInvoker- (MethodInvoker methodInvoker) 使用する- MethodInvokerを設定します。- void- updateState- (ObjectSE testInstance, MethodSE testMethod, ThrowableSE testException) このテストコンテキストを更新して、現在実行中のテストの状態を反映させます。- インターフェース org.springframework.core.AttributeAccessor から継承されたメソッド- attributeNames, computeAttribute, getAttribute, hasAttribute, removeAttribute, setAttribute
- メソッドの詳細- hasApplicationContextdefault boolean hasApplicationContext()このテストコンテキストのアプリケーションコンテキストが利用可能であることがわかっているかどうかを確認します。- このメソッドが - trueを返す場合、その後の- getApplicationContext()の呼び出しは成功するはずです。- このメソッドのデフォルト実装は、常に - falseを返します。カスタム- TestContext実装では、このメソッドをより意味のある実装でオーバーライドすることを強くお勧めします。Spring の標準- TestContext実装がこのメソッドを適切にオーバーライドすることに注意してください。- 戻り値:
-  アプリケーションコンテキストがすでに読み込まれている場合は true
- 導入:
- 5.2
- 関連事項:
 
- getApplicationContextApplicationContext getApplicationContext()おそらくキャッシュされている、このテストコンテキストのアプリケーションコンテキストを取得します。- このメソッドの実装は、対応するコンテキストがまだロードされていない場合にアプリケーションコンテキストをロードし、場合によってはコンテキストもキャッシュします。 - 戻り値:
-  アプリケーションコンテキスト (非 null)
- 例外:
- IllegalStateExceptionSE- アプリケーションコンテキストの取得中にエラーが発生した場合
- 関連事項:
 
- publishEvent指定された- eventFactoryによって作成された- ApplicationEventを、このテストコンテキストのアプリケーションコンテキストに発行します。- ApplicationEventは、このテストコンテキストのアプリケーションコンテキストが使用可能な場合にのみ公開されます。- パラメーター:
- eventFactory-- ApplicationEventの遅延作成のためのファクトリ
- 導入:
- 5.2
- 関連事項:
 
- getTestClassClassSE<?> getTestClass()このテストコンテキストのテストクラスSEを取得します。- 戻り値:
-  テストクラス (非 null)
 
- getTestInstanceObjectSE getTestInstance()このテストコンテキストの現在のテストインスタンスを取得SEします。- メモ: これは変更可能なプロパティです。 - 戻り値:
-  現在のテストインスタンス (非 null)
- 関連事項:
 
- getTestMethodMethodSE getTestMethod()このテストコンテキストの現在のテストメソッドを取得SEします。- メモ: これは変更可能なプロパティです。 - 戻り値:
-  現在のテストメソッド (非 null)
- 関連事項:
 
- getTestException- 戻り値:
-  スローされた例外、または例外がスローされなかった場合は null
- 関連事項:
 
- markApplicationContextDirtyこのメソッドを呼び出して、このテストコンテキストに関連付けられているアプリケーションコンテキストがダーティであり、コンテキストキャッシュから削除する必要があることを通知します。- テストでコンテキストが変更された場合は、これを行います。たとえば、シングルトン Bean の状態の変更、組み込みデータベースの状態の変更など。 - パラメーター:
- hierarchyMode- コンテキストが階層の一部である場合に適用されるコンテキストキャッシュのクリアモード (- nullの場合があります)
 
- updateStatevoid updateState- (@Nullable ObjectSE testInstance, @Nullable MethodSE testMethod, @Nullable ThrowableSE testException) このテストコンテキストを更新して、現在実行中のテストの状態を反映させます。- 警告 : このメソッドは - TestContextManagerによってのみ呼び出されます。- 注意: このメソッドの同時呼び出しは、基盤となる実装によっては、スレッドセーフではない場合があります。 - パラメーター:
- testInstance- 現在のテストインスタンス (- nullの場合があります)
- testMethod- 現在のテストメソッド (- nullの場合があります)
- testException- テストメソッドでスローされた例外、または例外がスローされなかった場合は- null
 
- setMethodInvoker使用する- MethodInvokerを設定します。- デフォルトでは、このメソッドは何も行いません。 - 具体的な実装では、提供された - MethodInvokerを追跡し、- getMethodInvoker()からそれを返す必要があります。Spring の標準- TestContext実装は、このメソッドを適切にオーバーライドすることに注意してください。- 導入:
- 6.1
 
- getMethodInvoker使用する- MethodInvokerを取得します。- デフォルトでは、このメソッドは - MethodInvoker.DEFAULT_INVOKERを返します。- 具体的な実装では、 - setMethodInvoker(MethodInvoker)に提供された- MethodInvokerを返す必要があります。Spring の標準- TestContext実装は、このメソッドを適切にオーバーライドすることに注意してください。- 導入:
- 6.1