@Published(tag="architect")
public abstract class TestEventDispatcherExtension
extends java.lang.Object
このクラスは、 TestEventDispatcher が提供する JUnit 4 用の拡張機能を、
JUnit 5 の Extension の仕組みで再現する。
各 Extension はこのクラスを継承して作成することで、共通する部分の処理を省略できる。
| Modifier and Type | Field and Description |
|---|---|
protected nablarch.test.event.TestEventDispatcher |
support
Extension が生成しテストクラスにインジェクションする、サポートクラスのインスタンス。
|
| Modifier and Type | Method and Description |
|---|---|
void |
afterAll(org.junit.jupiter.api.extension.ExtensionContext context) |
void |
afterEach(org.junit.jupiter.api.extension.ExtensionContext context)
テストメソッドの後処理を実行する。
|
void |
beforeAll(org.junit.jupiter.api.extension.ExtensionContext context) |
void |
beforeEach(org.junit.jupiter.api.extension.ExtensionContext context)
テストメソッドの前処理を実行する。
|
protected abstract nablarch.test.event.TestEventDispatcher |
createSupport(java.lang.Object testInstance,
org.junit.jupiter.api.extension.ExtensionContext context)
テストインスタンスにインジェクションするサポートクラスのインスタンスを生成する。
|
protected <A> A |
findAnnotation(java.lang.Object testInstance,
java.lang.Class<A> annotationClass)
指定されたテストインスタンスのクラスに設定されたアノテーションを取得する。
|
void |
postProcessTestInstance(java.lang.Object testInstance,
org.junit.jupiter.api.extension.ExtensionContext context) |
protected java.util.List |
resolveTestRules()
テストに対して適用する JUnit 4 の
TestRule のリストを取得する。 |
protected nablarch.test.event.TestEventDispatcher support
このフィールドは、 TestEventDispatcherExtension.postProcessTestInstance(Object, ExtensionContext) が実行されたときに初期化される。
設定される値は、 TestEventDispatcherExtension.createSupport(Object, ExtensionContext) が返却したインスタンスが使用される。
public void postProcessTestInstance(java.lang.Object testInstance,
org.junit.jupiter.api.extension.ExtensionContext context)
protected abstract nablarch.test.event.TestEventDispatcher createSupport(java.lang.Object testInstance,
org.junit.jupiter.api.extension.ExtensionContext context)
testInstance - テストインスタンスcontext - コンテキストpublic void beforeAll(org.junit.jupiter.api.extension.ExtensionContext context)
public void beforeEach(org.junit.jupiter.api.extension.ExtensionContext context)
context - コンテキストjava.lang.Exception - 例外がスローされた場合protected java.util.List resolveTestRules()
TestRule のリストを取得する。
JUnit 4 時代に作成した独自のサポートクラスを移植する場合は、
このメソッドをオーバーライドしてサポートクラスで宣言したルールインスタンスを
リストにして返却するように実装する。
オーバーライドした場合は、親クラスが返したリストに追加する形でルールを追加すること。
以下に実装例を示す。
public List<TestRule> resolveTestRules() {
// 親の resolveTestRules() が返したリストをベースにする
List<TestRule> testRules = new ArrayList<>(super.resolveTestRules());
// 独自の TestRule を追加する
testRules.add(((YourSupport)support).yourTestRule);
return testRules;
}
TestRule のリストpublic void afterEach(org.junit.jupiter.api.extension.ExtensionContext context)
context - コンテキストjava.lang.Exception - 例外がスローされた場合public void afterAll(org.junit.jupiter.api.extension.ExtensionContext context)
protected <A> A findAnnotation(java.lang.Object testInstance,
java.lang.Class<A> annotationClass)
A - アノテーションの型testInstance - テストインスタンス(null不可)annotationClass - 取得するアノテーションの型