クラス DefaultTestContext
- 実装されているすべてのインターフェース:
SerializableSE, AttributeAccessor, TestContext
TestContext インターフェースのデフォルト実装。- 導入:
- 4.0
- 作成者:
- Sam Brannen, Juergen Hoeller, Rob Harrop
- 関連事項:
コンストラクターの概要
コンストラクターコンストラクター説明DefaultTestContext(ClassSE<?> testClass, MergedContextConfiguration mergedConfig, CacheAwareContextLoaderDelegate cacheAwareContextLoaderDelegate) 指定された引数から新しいDefaultTestContextを構築します。DefaultTestContext(DefaultTestContext testContext) 指定されたコンテキストの属性と不変の状態に基づいて新しいDefaultTestContextを作成するためのコピーコンストラクター。メソッドのサマリー
修飾子と型メソッド説明StringSE[]すべての属性の名前を返します。<T> TcomputeAttribute(StringSE name, FunctionSE<StringSE, T> computeFunction) このテストコンテキストのアプリケーションコンテキストを取得します。getAttribute(StringSE name) nameで識別される属性の値を取得します。final MethodInvoker使用するMethodInvokerを取得します。final ClassSE<?> このテストコンテキストのテストクラスSEを取得します。final @Nullable ThrowableSEfinal ObjectSEこのテストコンテキストの現在のテストインスタンスを取得SEします。final MethodSEこのテストコンテキストの現在のテストメソッドを取得SEします。booleanこのテストコンテキストのアプリケーションコンテキストがコンテキストキャッシュに存在するかどうかを確認します。booleanhasAttribute(StringSE name) nameで識別される属性が存在する場合は、trueを返します。voidmarkApplicationContextDirty(@Nullable DirtiesContext.HierarchyMode hierarchyMode) このテストコンテキストに関連付けられたアプリケーションコンテキストをダーティとしてマークします (つまり、コンテキストキャッシュから削除し、閉じます)。voidこのテストコンテキストに関連付けられたアプリケーションコンテキストを未使用としてマークし、他のテストクラスが同じアプリケーションコンテキストをアクティブに使用していない場合に安全に一時停止できるようにします。removeAttribute(StringSE name) nameで識別される属性を削除し、その値を返します。voidsetAttribute(StringSE name, @Nullable ObjectSE value) nameで定義された属性を、指定されたvalueに設定します。final voidsetMethodInvoker(MethodInvoker methodInvoker) 使用するMethodInvokerを設定します。toString()このテストコンテキストの状態の文字列表現を提供します。voidupdateState(@Nullable ObjectSE testInstance, @Nullable MethodSE testMethod, @Nullable ThrowableSE testException) このテストコンテキストを更新して、現在実行中のテストの状態を反映させます。クラス ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSEインターフェース TestContext から継承されたメソッド
publishEvent
コンストラクターの詳細
DefaultTestContext
指定されたコンテキストの属性と不変の状態に基づいて新しいDefaultTestContextを作成するためのコピーコンストラクター。不変状態には、標準コンストラクターに提供されるすべての引数が含まれます。
- 例外:
NullPointerExceptionSE- 提供されたDefaultTestContextがnullの場合
DefaultTestContext
public DefaultTestContext(ClassSE<?> testClass, MergedContextConfiguration mergedConfig, CacheAwareContextLoaderDelegate cacheAwareContextLoaderDelegate) 指定された引数から新しいDefaultTestContextを構築します。- パラメーター:
testClass- このテストコンテキストのテストクラスmergedConfig- このテストコンテキストのマージされたアプリケーションコンテキスト構成cacheAwareContextLoaderDelegate- このテストコンテキストのアプリケーションコンテキストをロードおよび閉じるために使用するデリゲート
メソッドの詳細
hasApplicationContext
public boolean hasApplicationContext()このテストコンテキストのアプリケーションコンテキストがコンテキストキャッシュに存在するかどうかを確認します。- 次で指定:
- インターフェース
TestContextのhasApplicationContext - 戻り値:
true(アプリケーションコンテキストがすでにロードされ、コンテキストキャッシュに格納されている場合)- 導入:
- 5.2
- 関連事項:
getApplicationContext
このテストコンテキストのアプリケーションコンテキストを取得します。デフォルトの実装は、この
TestContextの構築時に提供されたCacheAwareContextLoaderDelegateに委譲します。- 次で指定:
- インターフェース
TestContextのgetApplicationContext - 戻り値:
- アプリケーションコンテキスト (非
null) - 例外:
IllegalStateExceptionSE- コンテキストローダーデリゲートによって返されたコンテキストがアクティブでない場合 (つまり、閉鎖されています)- 関連事項:
markApplicationContextUnused
public void markApplicationContextUnused()このテストコンテキストに関連付けられたアプリケーションコンテキストを未使用としてマークし、他のテストクラスが同じアプリケーションコンテキストをアクティブに使用していない場合に安全に一時停止できるようにします。デフォルトの実装は、この
TestContextの構築時に提供されたCacheAwareContextLoaderDelegateに委譲します。- 次で指定:
- インターフェース
TestContextのmarkApplicationContextUnused - 導入:
- 7.0
- 関連事項:
markApplicationContextDirty
このテストコンテキストに関連付けられたアプリケーションコンテキストをダーティとしてマークします (つまり、コンテキストキャッシュから削除し、閉じます)。デフォルトの実装は、この
TestContextの構築時に提供されたCacheAwareContextLoaderDelegateに委譲します。- 次で指定:
- インターフェース
TestContextのmarkApplicationContextDirty - パラメーター:
hierarchyMode- コンテキストが階層の一部である場合に適用されるコンテキストキャッシュのクリアモード (nullの場合があります)- 関連事項:
getTestClass
インターフェースからコピーされた説明:TestContextこのテストコンテキストのテストクラスSEを取得します。JUnit Jupiter 5.12 以降、
SpringExtensionをテストメソッドスコープのExtensionContextと組み合わせて使用する場合、このメソッドから返されるClassは、現在のテストメソッドのテストクラスを参照する可能性があります。このテストクラスは、テストインスタンスのクラス内の@Nestedテストクラスである可能性があります。TestExecutionListener.prepareTestInstance(TestContext)の実装内で現在のテストインスタンスのクラスへの一貫したアクセスが必要な場合は、testContext.getTestClass()ではなくtestContext.getTestInstance().getClass()を呼び出す必要があります。- 次で指定:
- インターフェース
TestContextのgetTestClass - 戻り値:
- テストクラス (非
null) - 関連事項:
getTestInstance
インターフェースからコピーされた説明:TestContextこのテストコンテキストの現在のテストインスタンスを取得SEします。メモ: これは変更可能なプロパティです。
- 次で指定:
- インターフェース
TestContextのgetTestInstance - 戻り値:
- 現在のテストインスタンス (非
null) - 関連事項:
getTestMethod
インターフェースからコピーされた説明:TestContextこのテストコンテキストの現在のテストメソッドを取得SEします。メモ: これは変更可能なプロパティです。
- 次で指定:
- インターフェース
TestContextのgetTestMethod - 戻り値:
- 現在のテストメソッド (非
null) - 関連事項:
getTestException
インターフェースからコピーされた説明:TestContext- 次で指定:
- インターフェース
TestContextのgetTestException - 戻り値:
- スローされた例外、または例外がスローされなかった場合は
null - 関連事項:
updateState
public void updateState(@Nullable ObjectSE testInstance, @Nullable MethodSE testMethod, @Nullable ThrowableSE testException) インターフェースからコピーされた説明:TestContextこのテストコンテキストを更新して、現在実行中のテストの状態を反映させます。警告 : このメソッドは
TestContextManagerによってのみ呼び出されます。注意: このメソッドの同時呼び出しは、基盤となる実装によっては、スレッドセーフではない場合があります。
- 次で指定:
- インターフェース
TestContextのupdateState - パラメーター:
testInstance- 現在のテストインスタンス (nullの場合があります)testMethod- 現在のテストメソッド (nullの場合があります)testException- テストメソッドでスローされた例外、または例外がスローされなかった場合はnull
setMethodInvoker
インターフェースからコピーされた説明:TestContext使用するMethodInvokerを設定します。デフォルトでは、このメソッドは何も行いません。
具体的な実装では、提供された
MethodInvokerを追跡し、TestContext.getMethodInvoker()からそれを返す必要があります。Spring の標準TestContext実装は、このメソッドを適切にオーバーライドすることに注意してください。- 次で指定:
- インターフェース
TestContextのsetMethodInvoker
getMethodInvoker
インターフェースからコピーされた説明:TestContext使用するMethodInvokerを取得します。デフォルトでは、このメソッドは
MethodInvoker.DEFAULT_INVOKERを返します。具体的な実装では、
TestContext.setMethodInvoker(MethodInvoker)に提供されたMethodInvokerを返す必要があります。Spring の標準TestContext実装は、このメソッドを適切にオーバーライドすることに注意してください。- 次で指定:
- インターフェース
TestContextのgetMethodInvoker
setAttribute
インターフェースからコピーされた説明:AttributeAccessornameで定義された属性を、指定されたvalueに設定します。valueがnullの場合、属性はremovedです。一般に、ユーザーは、クラスまたはパッケージ名を接頭辞として使用するなど、完全修飾名を使用して、他のメタデータ属性との重複を防ぐように注意する必要があります。
- 次で指定:
- インターフェース
AttributeAccessorのsetAttribute - パラメーター:
name- 一意の属性キーvalue- 添付する属性値
getAttribute
インターフェースからコピーされた説明:AttributeAccessornameで識別される属性の値を取得します。属性が存在しない場合は
nullを返します。- 次で指定:
- インターフェース
AttributeAccessorのgetAttribute - パラメーター:
name- 一意の属性キー- 戻り値:
- 属性の現在の値(存在する場合)
computeAttribute
インターフェースからコピーされた説明:AttributeAccessor必要に応じて、nameで識別される属性の新しい値を計算し、このAttributeAccessorに新しい値を設定します。nameで識別される属性の値がこのAttributeAccessorにすでに存在する場合、提供された計算関数を適用せずに既存の値が返されます。このメソッドのデフォルトの実装はスレッドセーフではありませんが、このインターフェースの具体的な実装によってオーバーライドできます。
- 次で指定:
- インターフェース
AttributeAccessorのcomputeAttribute - 型パラメーター:
T- 属性値の型- パラメーター:
name- 一意の属性キーcomputeFunction- 属性名の新しい値を計算する関数。関数はnull値を返してはなりません- 戻り値:
- 名前付き属性の既存の値または新しく計算された値
- 関連事項:
removeAttribute
インターフェースからコピーされた説明:AttributeAccessornameで識別される属性を削除し、その値を返します。nameに属性が見つからない場合は、nullを返します。- 次で指定:
- インターフェース
AttributeAccessorのremoveAttribute - パラメーター:
name- 一意の属性キー- 戻り値:
- 属性の最後の値(存在する場合)
hasAttribute
インターフェースからコピーされた説明:AttributeAccessornameで識別される属性が存在する場合は、trueを返します。それ以外の場合は
falseを返します。- 次で指定:
- インターフェース
AttributeAccessorのhasAttribute - パラメーター:
name- 一意の属性キー
attributeNames
インターフェースからコピーされた説明:AttributeAccessorすべての属性の名前を返します。- 次で指定:
- インターフェース
AttributeAccessorのattributeNames
toString