Spring TestContext フレームワーク

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

TestContext フレームワークは、汎用的なテストインフラストラクチャに加えて、JUnit Jupiter、JUnit 4、TestNG を明示的にサポートします。JUnit 4 と TestNG 向けには、Spring が abstract サポートクラスを提供します。さらに、Spring は、JUnit 4 用のカスタム JUnit Runner とカスタム JUnit Rules、JUnit Jupiter 用のカスタム Extension を提供し、これらを使用することで、いわゆる POJO テストクラスを作成できます。POJO テストクラスは、abstract サポートクラスのような特定のクラス階層を継承する必要はありません。

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