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