public class TestContextManager extends ObjectSE
TestContextManager は、Spring TestContext フレームワークへのメインエントリポイントです。 具体的には、TestContextManager は、単一の TestContext を管理し、次のテスト実行ポイントで登録済みの各 TestExecutionListener にイベントを通知します。
before test class execution : 特定のテストフレームワークの before before クラスコールバックの前 (例: JUnit 4 の @BeforeClass )test instance preparation : テストクラスのインスタンス化の直後 before test setup : 特定のテストフレームワークの before メソッドコールバックの前 (例: JUnit 4 の @Before )before test execution : テストメソッドSEの実行直前、ただしテストセットアップ後 after test execution : テストメソッドSEの実行直後、テストの破棄前 after test tear down : 特定のテストフレームワークのメソッドコールバックの後 (例: JUnit 4 の @After )after test class execution : 特定のテストフレームワークのクラスコールバックの後 (例: JUnit 4 の @AfterClass ) アプリケーションコンテキストの読み込みとアクセス、テストインスタンスの依存性注入、テストメソッドのトランザクション実行などのサポートは、それぞれ @ContextConfiguration と @TestExecutionListeners を介して構成された ContextLoaders と TestExecutionListeners によって提供されます。
TestContext、デフォルトの ContextLoader、デフォルトの TestExecutionListeners、それらのコラボレーターのブートストラップは、@BootstrapWith を介して構成された TestContextBootstrapper によって実行されます。
BootstrapWith, BootstrapContext, TestContextBootstrapper, TestContext, TestExecutionListener, TestExecutionListeners, ContextConfiguration, ContextHierarchy| コンストラクターと説明 |
|---|
TestContextManager(ClassSE<?> testClass)提供されたテストクラスSEの新しい TestContextManager を作成します。 |
TestContextManager(TestContextBootstrapper testContextBootstrapper) |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | afterTestClass() クラス内のすべてのテストの実行後にテストクラスを後処理するためのフック。 |
void | afterTestExecution(ObjectSE testInstance, MethodSE testMethod, ThrowableSE exception) 提供されたテストコンテキスト でテストメソッドSEを実行した直後にテストを後処理するためのフック(タイミングやログ記録など)。 |
void | afterTestMethod(ObjectSE testInstance, MethodSE testMethod, ThrowableSE exception) 基本的なテストフレームワークのライフサイクルコールバック後の実行後にテストを後処理するためのフック - たとえば、テストフィクスチャを切断、トランザクションを終了する、など |
void | beforeTestClass() クラス内でテストを実行する前に、テストクラスを前処理するためのフック。 |
void | beforeTestExecution(ObjectSE testInstance, MethodSE testMethod) 与えられたテストコンテキストSEでテストメソッドが実行される直前にテストを前処理するためのフックです ; たとえば、タイミングやロギングを目的とします。 |
void | beforeTestMethod(ObjectSE testInstance, MethodSE testMethod) 基になるテストフレームワークのライフサイクル前のコールバックを実行する前にテストを前処理するためのフック。たとえば、テストフィクスチャのセットアップ、トランザクションの開始など。 |
TestContext | getTestContext() この TestContextManager によって管理される TestContext を取得します。 |
ListSE<TestExecutionListener> | getTestExecutionListeners() この TestContextManager に登録されている現在の TestExecutionListeners を取得します。 |
void | prepareTestInstance(ObjectSE testInstance) 依存関係の注入など、個々のテストメソッドを実行する前にテストインスタンスを準備するためのフック。 |
void | registerTestExecutionListeners(ListSE<TestExecutionListener> testExecutionListeners) 提供された TestExecutionListeners のリストを、この TestContextManager が使用するリスナーのリストに追加して登録します。 |
void | registerTestExecutionListeners(TestExecutionListener... testExecutionListeners) この TestContextManager で使用されるリスナーのリストに追加された TestExecutionListeners の配列を登録します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEpublic TestContextManager(ClassSE<?> testClass)
TestContextManager を作成します。TestContextBootstrapper がテストクラス用に構成された TestContextManager(TestContextBootstrapper) へのデリゲート。@BootstrapWith アノテーションが直接またはメタアノテーションとしてテストクラスに存在する場合、その value がブートストラップ型として使用されます。それ以外の場合は、DefaultTestContextBootstrapper が使用されます。
testClass - 管理するテストクラス TestContextManager(TestContextBootstrapper)public TestContextManager(TestContextBootstrapper testContextBootstrapper)
TestContextBootstrapper を使用して新しい TestContextManager を作成し、必要な TestExecutionListeners を登録します。TestContext を構築して TestExecutionListeners を取得するために、提供された TestContextBootstrapper にデリゲートします。
testContextBootstrapper - 使用するブートストラップ TestContextBootstrapper.buildTestContext(), TestContextBootstrapper.getTestExecutionListeners(), registerTestExecutionListeners(java.util.List<org.springframework.test.context.TestExecutionListener>)public final TestContext getTestContext()
TestContextManager によって管理される TestContext を取得します。public void registerTestExecutionListeners(ListSE<TestExecutionListener> testExecutionListeners)
TestExecutionListeners のリストを、この TestContextManager が使用するリスナーのリストに追加して登録します。public void registerTestExecutionListeners(TestExecutionListener... testExecutionListeners)
TestContextManager で使用されるリスナーのリストに追加された TestExecutionListeners の配列を登録します。public final ListSE<TestExecutionListener> getTestExecutionListeners()
TestContextManager に登録されている現在の TestExecutionListeners を取得します。変更が可能です。リストの最初にリスナーを追加します。ただし、実際にテストを実行している間は、リストを安定させておいてください。
public void beforeTestClass()
throws ExceptionSE@BeforeClass アノテーションが付けられたメソッド)の前に呼び出す必要があります。 登録された各 TestExecutionListener にテストクラスの実行を前処理する機会を与える試みが行われます。ただし、リスナーが例外をスローした場合、登録されている残りのリスナーは呼び出されません。
ExceptionSE - 登録された TestExecutionListener が例外をスローした場合 getTestExecutionListeners()public void prepareTestInstance(ObjectSE testInstance) throws ExceptionSE
管理対象の TestContext は、提供された testInstance で更新されます。
登録された各 TestExecutionListener にテストインスタンスを準備する機会を与える試みが行われます。ただし、リスナーが例外をスローした場合、登録されている残りのリスナーは呼び出されません。
testInstance - 準備するテストインスタンス (非 null)ExceptionSE - 登録された TestExecutionListener が例外をスローした場合 getTestExecutionListeners()public void beforeTestMethod(ObjectSE testInstance, MethodSE testMethod) throws ExceptionSE
このメソッド は、ライフサイクルコールバック前のフレームワーク固有の直前に呼び出す必要があります(たとえば、JUnit 4 の @Before アノテーションが付けられたメソッド)。歴史的な理由により、このメソッドは beforeTestMethod と呼ばれています。beforeTestExecution(java.lang.Object, java.lang.reflect.Method) の導入以来、このメソッドのより適切な名前は、beforeTestSetUp または beforeEach のようなものになります。ただし、下位互換性の問題により、残念ながらこのメソッドの名前を変更することはできません。
管理対象の TestContext は、提供されている testInstance および testMethod で更新されます。
登録された各 TestExecutionListener にその前処理を実行する機会を与える試みが行われます。ただし、リスナーが例外をスローした場合、登録されている残りのリスナーは呼び出されません。
testInstance - 現在のテストインスタンス (非 null)testMethod - テストインスタンスで実行されようとしているテストメソッド ExceptionSE - 登録された TestExecutionListener が例外をスローした場合 afterTestMethod(java.lang.Object, java.lang.reflect.Method, java.lang.Throwable), beforeTestExecution(java.lang.Object, java.lang.reflect.Method), afterTestExecution(java.lang.Object, java.lang.reflect.Method, java.lang.Throwable), getTestExecutionListeners()public void beforeTestExecution(ObjectSE testInstance, MethodSE testMethod) throws ExceptionSE
このメソッド は、ライフサイクルコールバックの前にフレームワーク固有の後に呼び出す必要があります(たとえば、JUnit 4 の @Before アノテーションが付けられたメソッド)。
管理対象の TestContext は、提供されている testInstance および testMethod で更新されます。
登録された各 TestExecutionListener にその前処理を実行する機会を与える試みが行われます。ただし、リスナーが例外をスローした場合、登録されている残りのリスナーは呼び出されません。
testInstance - 現在のテストインスタンス (非 null)testMethod - テストインスタンスで実行されようとしているテストメソッド ExceptionSE - 登録された TestExecutionListener が例外をスローした場合 beforeTestMethod(java.lang.Object, java.lang.reflect.Method), afterTestMethod(java.lang.Object, java.lang.reflect.Method, java.lang.Throwable), beforeTestExecution(java.lang.Object, java.lang.reflect.Method), afterTestExecution(java.lang.Object, java.lang.reflect.Method, java.lang.Throwable), getTestExecutionListeners()public void afterTestExecution(ObjectSE testInstance, MethodSE testMethod, @Nullable ThrowableSE exception) throws ExceptionSE
このメソッド は、ライフサイクルコールバック後のフレームワーク固有の前に呼び出す必要があります(たとえば、JUnit 4 の @After アノテーションが付けられたメソッド)。
管理対象の TestContext は、付属の testInstance、testMethod、exception で更新されます。
登録された各 TestExecutionListener には、後処理を実行する機会が与えられます。リスナーが例外をスローした場合でも、残りの登録済みリスナーが呼び出されます。すべてのリスナーが実行された後、最初にキャッチされた例外が再スローされ、後続の例外は最初の例外で抑制SEされます。
登録されたリスナーは、登録された順序とは逆の順序で実行されることに注意してください。
testInstance - 現在のテストインスタンス (非 null)testMethod - テストインスタンスで実行されたばかりのテストメソッド exception - テストメソッドの実行中に、または TestExecutionListener によってスローされた例外、または何もスローされなかった場合は null ExceptionSE - 登録された TestExecutionListener が例外をスローした場合 beforeTestMethod(java.lang.Object, java.lang.reflect.Method), afterTestMethod(java.lang.Object, java.lang.reflect.Method, java.lang.Throwable), beforeTestExecution(java.lang.Object, java.lang.reflect.Method), getTestExecutionListeners(), Throwable.addSuppressed(Throwable)SEpublic void afterTestMethod(ObjectSE testInstance, MethodSE testMethod, @Nullable ThrowableSE exception) throws ExceptionSE
このメソッド は、ライフサイクルコールバック後のフレームワーク固有の直後に呼び出す必要があります(たとえば、JUnit 4 の @After アノテーションが付けられたメソッド)。歴史的な理由により、このメソッドは afterTestMethod と呼ばれています。afterTestExecution(java.lang.Object, java.lang.reflect.Method, java.lang.Throwable) の導入以来、このメソッドのより適切な名前は、afterTestTearDown または afterEach のようなものになります。ただし、下位互換性の問題により、残念ながらこのメソッドの名前を変更することはできません。
管理対象の TestContext は、付属の testInstance、testMethod、exception で更新されます。
登録された各 TestExecutionListener には、後処理を実行する機会が与えられます。リスナーが例外をスローした場合でも、残りの登録済みリスナーが呼び出されます。すべてのリスナーが実行された後、最初にキャッチされた例外が再スローされ、後続の例外は最初の例外で抑制SEされます。
登録されたリスナーは逆に実行されることに注意してください
testInstance - 現在のテストインスタンス (非 null)testMethod - テストインスタンスで実行されたばかりのテストメソッド exception - テストメソッドの実行中に、または TestExecutionListener によってスローされた例外、または何もスローされなかった場合は null ExceptionSE - 登録された TestExecutionListener が例外をスローした場合 beforeTestMethod(java.lang.Object, java.lang.reflect.Method), beforeTestExecution(java.lang.Object, java.lang.reflect.Method), afterTestExecution(java.lang.Object, java.lang.reflect.Method, java.lang.Throwable), getTestExecutionListeners(), Throwable.addSuppressed(Throwable)SEpublic void afterTestClass()
throws ExceptionSE@AfterClass でアノテーションが付けられたメソッドなど)の後に呼び出す必要があります。 登録された各 TestExecutionListener には、後処理を実行する機会が与えられます。リスナーが例外をスローした場合でも、残りの登録済みリスナーが呼び出されます。すべてのリスナーが実行された後、最初にキャッチされた例外が再スローされ、後続の例外は最初の例外で抑制SEされます。
登録されたリスナーは逆に実行されることに注意してください
ExceptionSE - 登録された TestExecutionListener が例外をスローした場合 getTestExecutionListeners(), Throwable.addSuppressed(Throwable)SE