public class EventPublishingTestExecutionListener extends AbstractTestExecutionListener
ApplicationContext
に公開する TestExecutionListener
。BeforeTestClassEvent
PrepareTestInstanceEvent
BeforeTestMethodEvent
BeforeTestExecutionEvent
AfterTestExecutionEvent
AfterTestMethodEvent
AfterTestClassEvent
これらのイベントは、モック Bean のリセットやテスト実行のトレースなど、さまざまな理由で発生する可能性があります。カスタム TestExecutionListener
を実装するのではなくテストイベントを消費する利点の 1 つは、テスト ApplicationContext
に登録されている任意の Spring Bean によってテストイベントが消費される可能性があることです。このような Bean は、依存性注入や ApplicationContext
の他の機能から直接恩恵を受ける可能性があります。対照的に、TestExecutionListener
は ApplicationContext
の Bean ではありません。
EventPublishingTestExecutionListener
はデフォルトで登録されていることに注意してください。ただし、ApplicationContext
がすでにロードされている場合にのみイベントを公開します。これにより、ApplicationContext
が不必要にロードされたり早すぎたりするのを防ぎます。ApplicationContext
が別の TestExecutionListener
によってロードされるまで、BeforeTestClassEvent
は公開されません。例: TestExecutionListeners
のデフォルトセットが登録されている場合、特定のテスト ApplicationContext
を使用する最初のテストクラスに対して BeforeTestClassEvent
は公開されませんが、同じテスト ApplicationContext
を使用する同じテストスイート内の後続のテストクラスに対して BeforeTestClassEvent
が公開されます。後続のテストクラスの実行時にコンテキストがすでにロードされているため(コンテキストが @DirtiesContext
または最大サイズのエビクションポリシーを介して ContextCache
から削除されていない場合)。BeforeTestClassEvent
がすべてのテストクラスに対して公開されていることを確認する場合は、ApplicationContext
を beforeTestClass
コールバックにロードする TestExecutionListener
を登録する必要があり、TestExecutionListener
は EventPublishingTestExecutionListener
の前に登録する必要があります。同様に、@DirtiesContext
を使用して特定のテストクラスの最後のテストメソッドの後にコンテキストキャッシュから ApplicationContext
を削除した場合、AfterTestClassEvent
はそのテストクラスに対して公開されません。
デフォルトでは、テストイベントリスナーがテストイベントの使用中に例外をスローすると、その例外は使用中の基になるテストフレームワークに伝播します。例: BeforeTestMethodEvent
の使用により例外が発生した場合、対応するテストメソッドは例外の結果として失敗します。対照的に、非同期テストイベントリスナーが例外をスローした場合、その例外は基礎となるテストフレームワークに伝播しません。非同期例外処理の詳細については、@EventListener
のクラスレベルの Javadoc を参照してください。
特定のテストイベントリスナーでイベントを非同期に処理する場合は、Spring の @Async
サポートを使用できます。詳細については、@EventListener
のクラスレベルの Javadoc を参照してください。
@BeforeTestClass
, @PrepareTestInstance
, @BeforeTestMethod
, @BeforeTestExecution
, @AfterTestExecution
, @AfterTestMethod
, @AfterTestClass
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
コンストラクターと説明 |
---|
EventPublishingTestExecutionListener() |
修飾子と型 | メソッドと説明 |
---|---|
void | afterTestClass(TestContext testContext) |
void | afterTestExecution(TestContext testContext) |
void | afterTestMethod(TestContext testContext) |
void | beforeTestClass(TestContext testContext) |
void | beforeTestExecution(TestContext testContext) |
void | beforeTestMethod(TestContext testContext) |
int | getOrder() 10000 を返します。 |
void | prepareTestInstance(TestContext testContext) |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public final int getOrder()
10000
を返します。Ordered
の getOrder
AbstractTestExecutionListener
の getOrder
Ordered.HIGHEST_PRECEDENCE
, Ordered.LOWEST_PRECEDENCE
public void beforeTestClass(TestContext testContext)
TestExecutionListener
の beforeTestClass
AbstractTestExecutionListener
の beforeTestClass
testContext
- テストのテストコンテキスト。null
public void prepareTestInstance(TestContext testContext)
TestExecutionListener
の prepareTestInstance
AbstractTestExecutionListener
の prepareTestInstance
testContext
- テストのテストコンテキスト。null
public void beforeTestMethod(TestContext testContext)
TestExecutionListener
の beforeTestMethod
AbstractTestExecutionListener
の beforeTestMethod
testContext
- テストメソッドが実行されるテストコンテキスト。非 null
TestExecutionListener.afterTestMethod(org.springframework.test.context.TestContext)
, TestExecutionListener.beforeTestExecution(org.springframework.test.context.TestContext)
, TestExecutionListener.afterTestExecution(org.springframework.test.context.TestContext)
public void beforeTestExecution(TestContext testContext)
TestExecutionListener
の beforeTestExecution
AbstractTestExecutionListener
の beforeTestExecution
testContext
- テストメソッドが実行されるテストコンテキスト。非 null
TestExecutionListener.beforeTestMethod(org.springframework.test.context.TestContext)
, TestExecutionListener.afterTestMethod(org.springframework.test.context.TestContext)
, TestExecutionListener.afterTestExecution(org.springframework.test.context.TestContext)
public void afterTestExecution(TestContext testContext)
TestExecutionListener
の afterTestExecution
AbstractTestExecutionListener
の afterTestExecution
testContext
- テストメソッドが実行されるテストコンテキスト。非 null
TestExecutionListener.beforeTestMethod(org.springframework.test.context.TestContext)
, TestExecutionListener.afterTestMethod(org.springframework.test.context.TestContext)
, TestExecutionListener.beforeTestExecution(org.springframework.test.context.TestContext)
public void afterTestMethod(TestContext testContext)
TestExecutionListener
の afterTestMethod
AbstractTestExecutionListener
の afterTestMethod
testContext
- テストメソッドが実行されたテストコンテキスト ; 決して null
TestExecutionListener.beforeTestMethod(org.springframework.test.context.TestContext)
, TestExecutionListener.beforeTestExecution(org.springframework.test.context.TestContext)
, TestExecutionListener.afterTestExecution(org.springframework.test.context.TestContext)
public void afterTestClass(TestContext testContext)
TestExecutionListener
の afterTestClass
AbstractTestExecutionListener
の afterTestClass
testContext
- テストのテストコンテキスト。null