コンテキスト管理
各 TestContext
は、担当するテストインスタンスのコンテキスト管理とキャッシュサポートを提供します。テストインスタンスは、構成された ApplicationContext
へのアクセスを自動的に受け取りません。ただし、テストクラスが ApplicationContextAware
インターフェースを実装する場合、ApplicationContext
への参照がテストインスタンスに提供されます。AbstractJUnit4SpringContextTests
および AbstractTestNGSpringContextTests
は ApplicationContextAware
を実装しているため、ApplicationContext
へのアクセスを自動的に提供することに注意してください。
@Autowired ApplicationContext
同様に、テストが
|
TestContext フレームワークを使用するテストクラスは、特定のクラスを継承したり、特定のインターフェースを実装してアプリケーションコンテキストを構成したりする必要はありません。代わりに、構成はクラスレベルで @ContextConfiguration
アノテーションを宣言することで実現されます。テストクラスがアプリケーションコンテキストリソースの場所またはコンポーネントクラスを明示的に宣言しない場合、構成された ContextLoader
は、デフォルトの場所またはデフォルトの構成クラスからコンテキストをロードする方法を決定します。コンテキストリソースの場所とコンポーネントクラスに加えて、アプリケーションコンテキストは、アプリケーションコンテキスト初期化子を通じて構成することもできます。
以下のセクションでは、Spring の @ContextConfiguration
アノテーションを使用して、XML 構成ファイル、Groovy スクリプト、コンポーネントクラス(通常 @Configuration
クラス)、またはコンテキスト初期化子を使用して、テスト ApplicationContext
を構成する方法について説明します。または、高度なユースケース用に独自のカスタム SmartContextLoader
を実装および構成できます。