Spring TestContext フレームワーク

Spring TestContext フレームワーク(org.springframework.test.context パッケージにあります)は、使用中のテストフレームワークにとらわれない、汎用のアノテーション駆動型ユニットおよび統合テストのサポートを提供します。また、TestContext フレームワークは、構成よりも規約を非常に重視しており、アノテーションベースの構成でオーバーライドできる妥当なデフォルトを備えています。

一般的なテストインフラストラクチャに加えて、TestContext フレームワークは、JUnit 4、JUnit Jupiter(別名 JUnit 5)、および TestNG の明示的なサポートを提供します。JUnit 4 および TestNG の場合、Spring は abstract サポートクラスを提供します。さらに、Spring は、JUnit 4 用のカスタム JUnit Runner とカスタム JUnit Rules、および JUnit Jupiter 用のカスタム Extension を提供し、いわゆる POJO テストクラスを作成できるようにします。POJO テストクラスは、abstract サポートクラスなど、特定のクラス階層を継承する必要はありません。

以下のセクションでは、TestContext フレームワークの内部構造の概要を説明します。フレームワークの使用のみに興味があり、独自のカスタムリスナーやカスタムローダーによる拡張には興味がない場合は、設定(コンテキスト管理依存性注入トランザクション管理)、サポートクラスアノテーションサポートのセクションに直接進んでください。