インターフェース TestContext
- すべてのスーパーインターフェース:
AttributeAccessor
,SerializableSE
- すべての既知の実装クラス:
DefaultTestContext
TestContext
は、テストが実行されるコンテキストをカプセル化します。使用中の実際のテストフレームワークには依存しません。 具体的な実装では、コピーコンストラクターを実装することを強くお勧めします。これにより、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
メソッドの詳細
hasApplicationContext
default boolean hasApplicationContext()このテストコンテキストのアプリケーションコンテキストが利用可能であることがわかっているかどうかを確認します。このメソッドが
true
を返す場合、その後のgetApplicationContext()
の呼び出しは成功するはずです。このメソッドのデフォルト実装は、常に
false
を返します。カスタムTestContext
実装では、このメソッドをより意味のある実装でオーバーライドすることを強くお勧めします。Spring の標準TestContext
実装がこのメソッドを適切にオーバーライドすることに注意してください。- 戻り値:
- アプリケーションコンテキストがすでに読み込まれている場合は
true
- 導入:
- 5.2
- 関連事項:
getApplicationContext
ApplicationContext getApplicationContext()おそらくキャッシュされている、このテストコンテキストのアプリケーションコンテキストを取得します。このメソッドの実装は、対応するコンテキストがまだロードされていない場合にアプリケーションコンテキストをロードし、場合によってはコンテキストもキャッシュします。
- 戻り値:
- アプリケーションコンテキスト (非
null
) - 例外:
IllegalStateExceptionSE
- アプリケーションコンテキストの取得中にエラーが発生した場合- 関連事項:
publishEvent
指定されたeventFactory
によって作成されたApplicationEvent
を、このテストコンテキストのアプリケーションコンテキストに発行します。ApplicationEvent
は、このテストコンテキストのアプリケーションコンテキストが使用可能な場合にのみ公開されます。- パラメーター:
eventFactory
-ApplicationEvent
の遅延作成のためのファクトリ- 導入:
- 5.2
- 関連事項:
getTestClass
ClassSE<?> getTestClass()このテストコンテキストのテストクラスSEを取得します。- 戻り値:
- テストクラス (非
null
)
getTestInstance
ObjectSE getTestInstance()このテストコンテキストの現在のテストインスタンスを取得SEします。メモ: これは変更可能なプロパティです。
- 戻り値:
- 現在のテストインスタンス (非
null
) - 関連事項:
getTestMethod
MethodSE getTestMethod()このテストコンテキストの現在のテストメソッドを取得SEします。メモ: これは変更可能なプロパティです。
- 戻り値:
- 現在のテストメソッド (非
null
) - 関連事項:
getTestException
- 戻り値:
- スローされた例外、または例外がスローされなかった場合は
null
- 関連事項:
markApplicationContextDirty
このメソッドを呼び出して、このテストコンテキストに関連付けられているアプリケーションコンテキストがダーティであり、コンテキストキャッシュから削除する必要があることを通知します。テストでコンテキストが変更された場合は、これを行います。たとえば、シングルトン Bean の状態の変更、組み込みデータベースの状態の変更など。
- パラメーター:
hierarchyMode
- コンテキストが階層の一部である場合に適用されるコンテキストキャッシュのクリアモード (null
の場合があります)
updateState
void 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