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