public interface TestContext extends AttributeAccessor, java.io.Serializable
TestContext は、テストが実行されるコンテキストをカプセル化します。使用中の実際のテストフレームワークには依存しません。Spring Framework 5.0 以降、具体的な実装では、TestContext の不変の状態と属性を、並列テストの実行用に作成された追加のコンテキストのテンプレートとして使用できるように、コピーコンストラクターを実装することを強くお勧めします。コピーコンストラクターは、具象実装の型の単一の引数を受け入れる必要があります。コピーコンストラクターを提供しない実装は、テストを同時に実行する環境では失敗する可能性があります。
| 修飾子と型 | メソッドと説明 |
|---|---|
ApplicationContext | getApplicationContext() おそらくキャッシュされている、このテストコンテキストのアプリケーションコンテキストを取得します。 |
java.lang.Class<?> | getTestClass() このテストコンテキストのテストクラスを取得します。 |
java.lang.Throwable | getTestException() テストメソッドの実行中にスローされた例外を取得します。 |
java.lang.Object | getTestInstance() このテストコンテキストの現在のテストインスタンスを取得します。 |
java.lang.reflect.Method | getTestMethod() このテストコンテキストの現在のテストメソッドを取得します。 |
void | markApplicationContextDirty(DirtiesContext.HierarchyMode hierarchyMode) このメソッドを呼び出して、このテストコンテキストに関連付けられているアプリケーションコンテキストがダーティであり、コンテキストキャッシュから削除する必要があることを通知します。 |
void | updateState(java.lang.Object testInstance, java.lang.reflect.Method testMethod, java.lang.Throwable testException) このテストコンテキストを更新して、現在実行中のテストの状態を反映させます。 |
attributeNames, getAttribute, hasAttribute, removeAttribute, setAttributeApplicationContext getApplicationContext()
このメソッドの実装は、対応するコンテキストがまだロードされていない場合にアプリケーションコンテキストをロードし、場合によってはコンテキストもキャッシュします。
java.lang.IllegalStateException - アプリケーションコンテキストの取得中にエラーが発生した場合 java.lang.Class<?> getTestClass()
null ではない)java.lang.Object getTestInstance()
メモ: これは変更可能なプロパティです。
null の場合があります)updateState(Object, Method, Throwable)java.lang.reflect.Method getTestMethod()
メモ: これは変更可能なプロパティです。
updateState(Object, Method, Throwable)@Nullable java.lang.Throwable getTestException()
メモ: これは変更可能なプロパティです。
null updateState(Object, Method, Throwable)void markApplicationContextDirty(@Nullable DirtiesContext.HierarchyMode hierarchyMode)
テストでコンテキストが変更された場合は、これを行います。たとえば、シングルトン Bean の状態の変更、組み込みデータベースの状態の変更など。
hierarchyMode - コンテキストが階層の一部である場合に適用されるコンテキストキャッシュのクリアモード (null の場合があります)void updateState(@Nullable java.lang.Object testInstance, @Nullable java.lang.reflect.Method testMethod, @Nullable java.lang.Throwable testException)
注意: このメソッドの同時呼び出しは、基盤となる実装によっては、スレッドセーフではない場合があります。
testInstance - 現在のテストインスタンス (null の場合があります)testMethod - 現在のテストメソッド (null の場合があります)testException - テストメソッドでスローされた例外、または例外がスローされなかった場合は null