Class TestEventDispatcherExtension
java.lang.Object
nablarch.test.junit5.extension.event.TestEventDispatcherExtension
- All Implemented Interfaces:
 org.junit.jupiter.api.extension.AfterAllCallback,org.junit.jupiter.api.extension.AfterEachCallback,org.junit.jupiter.api.extension.BeforeAllCallback,org.junit.jupiter.api.extension.BeforeEachCallback,org.junit.jupiter.api.extension.Extension,org.junit.jupiter.api.extension.TestInstancePostProcessor
- Direct Known Subclasses:
 BasicHttpRequestTestExtension,BatchRequestTestExtension,DbAccessTestExtension,EntityTestExtension,HttpRequestTestExtension,IntegrationTestExtension,MessagingRequestTestExtension,SimpleRestTestExtension,TestSupportExtension
@Published(tag="architect")
public abstract class TestEventDispatcherExtension
extends Object
implements org.junit.jupiter.api.extension.TestInstancePostProcessor, org.junit.jupiter.api.extension.BeforeAllCallback, org.junit.jupiter.api.extension.AfterAllCallback, org.junit.jupiter.api.extension.BeforeEachCallback, org.junit.jupiter.api.extension.AfterEachCallback
NTF の JUnit 5 用 Extension の基底となる抽象クラス。
 
 このクラスは、 TestEventDispatcher が提供する JUnit 4 用の拡張機能を、
 JUnit 5 の Extension の仕組みで再現する。
 
各 Extension はこのクラスを継承して作成することで、共通する部分の処理を省略できる。
- 
Field Summary
FieldsModifier and TypeFieldDescriptionprotected TestEventDispatcherExtension が生成しテストクラスにインジェクションする、サポートクラスのインスタンス。 - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionvoidafterAll(org.junit.jupiter.api.extension.ExtensionContext context) voidafterEach(org.junit.jupiter.api.extension.ExtensionContext context) テストメソッドの後処理を実行する。voidbeforeAll(org.junit.jupiter.api.extension.ExtensionContext context) voidbeforeEach(org.junit.jupiter.api.extension.ExtensionContext context) テストメソッドの前処理を実行する。protected abstract TestEventDispatchercreateSupport(Object testInstance, org.junit.jupiter.api.extension.ExtensionContext context) テストインスタンスにインジェクションするサポートクラスのインスタンスを生成する。protected <A extends Annotation>
AfindAnnotation(Object testInstance, Class<A> annotationClass) 指定されたテストインスタンスのクラスに設定されたアノテーションを取得する。voidpostProcessTestInstance(Object testInstance, org.junit.jupiter.api.extension.ExtensionContext context) protected List<org.junit.rules.TestRule>テストに対して適用する JUnit 4 のTestRuleのリストを取得する。 
- 
Field Details
- 
support
Extension が生成しテストクラスにインジェクションする、サポートクラスのインスタンス。このフィールドは、
postProcessTestInstance(Object, ExtensionContext)が実行されたときに初期化される。 設定される値は、createSupport(Object, ExtensionContext)が返却したインスタンスが使用される。 
 - 
 - 
Constructor Details
- 
TestEventDispatcherExtension
public TestEventDispatcherExtension() 
 - 
 - 
Method Details
- 
postProcessTestInstance
public void postProcessTestInstance(Object testInstance, org.junit.jupiter.api.extension.ExtensionContext context) throws Exception - Specified by:
 postProcessTestInstancein interfaceorg.junit.jupiter.api.extension.TestInstancePostProcessor- Throws:
 Exception
 - 
createSupport
protected abstract TestEventDispatcher createSupport(Object testInstance, org.junit.jupiter.api.extension.ExtensionContext context) テストインスタンスにインジェクションするサポートクラスのインスタンスを生成する。- Parameters:
 testInstance- テストインスタンスcontext- コンテキスト- Returns:
 - サポートクラスのインスタンス
 
 - 
beforeAll
public void beforeAll(org.junit.jupiter.api.extension.ExtensionContext context) - Specified by:
 beforeAllin interfaceorg.junit.jupiter.api.extension.BeforeAllCallback
 - 
beforeEach
テストメソッドの前処理を実行する。- Specified by:
 beforeEachin interfaceorg.junit.jupiter.api.extension.BeforeEachCallback- Parameters:
 context- コンテキスト- Throws:
 Exception- 例外がスローされた場合
 - 
resolveTestRules
テストに対して適用する JUnit 4 のTestRuleのリストを取得する。JUnit 4 時代に作成した独自のサポートクラスを移植する場合は、 このメソッドをオーバーライドしてサポートクラスで宣言したルールインスタンスを リストにして返却するように実装する。
オーバーライドした場合は、親クラスが返したリストに追加する形でルールを追加すること。 以下に実装例を示す。public List<TestRule> resolveTestRules() { // 親の resolveTestRules() が返したリストをベースにする List<TestRule> testRules = new ArrayList<>(super.resolveTestRules()); // 独自の TestRule を追加する testRules.add(((YourSupport)support).yourTestRule); return testRules; }- Returns:
 - テストに適用したい JUnit 4 の 
TestRuleのリスト 
 - 
afterEach
テストメソッドの後処理を実行する。- Specified by:
 afterEachin interfaceorg.junit.jupiter.api.extension.AfterEachCallback- Parameters:
 context- コンテキスト- Throws:
 Exception- 例外がスローされた場合
 - 
afterAll
public void afterAll(org.junit.jupiter.api.extension.ExtensionContext context) - Specified by:
 afterAllin interfaceorg.junit.jupiter.api.extension.AfterAllCallback
 - 
findAnnotation
指定されたテストインスタンスのクラスに設定されたアノテーションを取得する。- Type Parameters:
 A- アノテーションの型- Parameters:
 testInstance- テストインスタンス(null不可)annotationClass- 取得するアノテーションの型- Returns:
 - テストクラスに設定されたアノテーション
 
 
 -