public class TestContextManager extends ObjectSE
TestContextManager
は、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
: テストメソッド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, waitSE
public 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