インターフェース TestExecutionListener

すべての既知のサブインターフェース:
AotTestExecutionListener
すべての既知の実装クラス:
AbstractDirtiesContextTestExecutionListenerAbstractTestExecutionListenerApplicationEventsTestExecutionListenerDependencyInjectionTestExecutionListenerDirtiesContextBeforeModesTestExecutionListenerDirtiesContextTestExecutionListenerEventPublishingTestExecutionListenerServletTestExecutionListenerSqlScriptsTestExecutionListenerTransactionalTestExecutionListener

public interface TestExecutionListener
TestExecutionListener は、リスナーが登録されている TestContextManager によって発行されたテスト実行イベントに反応するためのリスナー API を定義します。

すべてのテストフレームワークがこの API で定義されているすべてのライフサイクルコールバックをサポートしているわけではないことに注意してください。例: SpringMethodRule を使用する場合、beforeTestExecution(org.springframework.test.context.TestContext) および afterTestExecution(org.springframework.test.context.TestContext) は JUnit 4 との組み合わせではサポートされません。

このインターフェースは、すべてのメソッドに対して空の default 実装を提供します。具体的な実装では、目前のタスクに適したメソッドのみをオーバーライドすることを選択できます。

具体的な実装では、public 引数なしコンストラクターを提供する必要があります。これにより、ツールと構成メカニズムによってリスナーを透過的にインスタンス化できます。

実装では、オプションで、Ordered インターフェースまたは @Order アノテーションを介して、デフォルトリスナーのチェーン間での順序を宣言する必要があります。詳細については、TestContextBootstrapper.getTestExecutionListeners() を参照してください。

TestExecutionListener 実装の登録

TestExecutionListener は、@TestExecutionListeners アノテーションを使用して、テストクラス、そのサブクラス、そのネストされたクラスに対して明示的に登録できます。明示的な登録は、限定的なテストシナリオで使用されるカスタムリスナーに適しています。ただし、テストスイート全体でカスタムリスナーを使用する必要がある場合は、面倒になる可能性があります。この課題は、SpringFactoriesLoader メカニズムによるデフォルトの TestExecutionListener 実装の自動検出をサポートすることで解決されています。特に、デフォルトの TestExecutionListener 実装は、META-INF/spring.factories プロパティファイルの org.springframework.test.context.TestExecutionListener キーに登録できます。

Spring は、次の実装を提供します。これらはそれぞれ Ordered を実装し、デフォルトで自動的に登録されます。

導入:
2.5
作成者:
Sam Brannen, Juergen Hoeller
関連事項:
  • メソッドの詳細

    • beforeTestClass

      default void beforeTestClass(TestContext testContext) throws ExceptionSE
      クラス内のすべてのテストを実行する前に、テストクラスを処理します。

      このメソッドは、フレームワーク固有の before クラスライフサイクルコールバックの直前に呼び出す必要があります。

      デフォルトの実装はです。必要に応じて、具象クラスでオーバーライドできます。

      パラメーター:
      testContext - テストのテストコンテキスト。null
      例外:
      ExceptionSE - 例外の伝播を許可します
      導入:
      3.0
    • prepareTestInstance

      default void prepareTestInstance(TestContext testContext) throws ExceptionSE
      提供されたテストコンテキスト のテストインスタンスSEを準備します。たとえば、依存関係を注入します。

      このメソッドは、テストクラスのインスタンス化の直後、またはインスタンス化のできるだけ直後に呼び出す必要があります(SpringMethodRule の場合のように)。いずれの場合も、このメソッドは、フレームワーク固有のライフサイクルコールバックの前に呼び出す必要があります。

      デフォルトの実装はです。必要に応じて、具象クラスでオーバーライドできます。

      パラメーター:
      testContext - テストのテストコンテキスト。null
      例外:
      ExceptionSE - 例外の伝播を許可します
    • beforeTestMethod

      default void beforeTestMethod(TestContext testContext) throws ExceptionSE
      基礎となるテストフレームワークのライフサイクルコールバックの実行前にテストを処理します。たとえば、テストフィクスチャをセットアップします。

      このメソッド は、ライフサイクルコールバック前のフレームワーク固有の直前に呼び出す必要があります。歴史的な理由により、このメソッドは beforeTestMethod と呼ばれています。beforeTestExecution(org.springframework.test.context.TestContext) の導入以来、このメソッドのより適切な名前は、beforeTestSetUp または beforeEach のようなものになります。ただし、下位互換性の問題により、残念ながらこのメソッドの名前を変更することはできません。

      デフォルトの実装はです。必要に応じて、具象クラスでオーバーライドできます。

      パラメーター:
      testContext - テストメソッドが実行されるテストコンテキスト。非 null
      例外:
      ExceptionSE - 例外の伝播を許可します
      関連事項:
    • beforeTestExecution

      default void beforeTestExecution(TestContext testContext) throws ExceptionSE
      提供されたテストコンテキスト でテストメソッドSEを実行する直前に、タイミングやログ記録などの目的でテストを前処理します。

      このメソッド は、ライフサイクルコールバックのにフレームワーク固有の後で呼び出す必要があります。

      デフォルトの実装はです。必要に応じて、具象クラスでオーバーライドできます。

      パラメーター:
      testContext - テストメソッドが実行されるテストコンテキスト。非 null
      例外:
      ExceptionSE - 例外の伝播を許可します
      導入:
      5.0
      関連事項:
    • afterTestExecution

      default void afterTestExecution(TestContext testContext) throws ExceptionSE
      提供されたテストコンテキスト でテストメソッドSEを実行した直後に、タイミングやログ記録などの目的でテストを後処理します。

      このメソッド ライフサイクルコールバック後のフレームワーク固有の前に呼び出す必要があります。

      デフォルトの実装はです。必要に応じて、具象クラスでオーバーライドできます。

      パラメーター:
      testContext - テストメソッドが実行されるテストコンテキスト。非 null
      例外:
      ExceptionSE - 例外の伝播を許可します
      導入:
      5.0
      関連事項:
    • afterTestMethod

      default void afterTestMethod(TestContext testContext) throws ExceptionSE
      たとえば、テストフィクスチャを切断することによって - 基本的なテストフレームワークのライフサイクルコールバックの実行後にテストをポスト処理します。

      このメソッド ライフサイクルコールバック後のフレームワーク固有の直後に呼び出す必要があります。歴史的な理由により、このメソッドの名前は afterTestMethod です。afterTestExecution(org.springframework.test.context.TestContext) の導入以来、このメソッドのより適切な名前は、afterTestTearDown または afterEach のようなものになります。ただし、下位互換性の問題から、残念ながらこのメソッドの名前を変更することはできません。

      デフォルトの実装はです。必要に応じて、具象クラスでオーバーライドできます。

      パラメーター:
      testContext - テストメソッドが実行されたテストコンテキスト ; 決して null
      例外:
      ExceptionSE - 例外の伝播を許可します
      関連事項:
    • afterTestClass

      default void afterTestClass(TestContext testContext) throws ExceptionSE
      クラス内のすべてのテストを実行した、テストクラス後処理します。

      このメソッドは、クラスのライフサイクルコールバックの、フレームワーク固有の直後に呼び出す必要があります。

      デフォルトの実装はです。必要に応じて、具象クラスでオーバーライドできます。

      パラメーター:
      testContext - テストのテストコンテキスト。null
      例外:
      ExceptionSE - 例外の伝播を許可します
      導入:
      3.0