クラス SpringExtension

java.lang.ObjectSE
org.springframework.test.context.junit.jupiter.SpringExtension
実装済みのインターフェース一覧:
AfterAllCallback, AfterEachCallback, AfterTestExecutionCallback, BeforeAllCallback, BeforeEachCallback, BeforeTestExecutionCallback, Extension, ParameterResolver, TestInstancePostProcessor, TestInstantiationAwareExtension

SpringExtension は、Spring、TestContext、フレームワークを JUnit Jupiter テストフレームワークに統合します。

この拡張機能を使用するには、JUnit Jupiter ベースのテストクラスに @ExtendWith(SpringExtension.class)@SpringJUnitConfig@SpringJUnitWebConfig をアノテーションするか、@ExtendWith(SpringExtension.class) (@SpringBootTest など)でメタアノテーションされたその他のアノテーションをアノテーションします。

Spring Framework 7.0 では、SpringExtension はテストメソッドスコープの ExtensionContext を使用するように構成されており、@Nested テストクラス階層内の現在のテストメソッドの ApplicationContext からフィールドとコンストラクターへの一貫した依存性注入が可能になります。ただし、サードパーティの TestExecutionListener がテストメソッドスコープの拡張コンテキストに関連付けられたセマンティクスと互換性がない場合、または開発者がテストクラススコープのセマンティクスに切り替えたい場合は、トップレベルのテストクラスに @SpringExtensionConfig(useTestClassScopedExtensionContext = true) をアノテーションとして付けるか、"spring.test.extension.context.scope" プロパティを test_class に設定することで、SpringExtension を構成できます。明示的な @SpringExtensionConfig 宣言は、グローバルに構成されたプロパティを上書きすることに注意してください。さらに、SpringExtension は、JUnit Jupiter の @TestInstance(Lifecycle.PER_CLASS) セマンティクスを使用するように構成されたテストクラスに対して、常にテストクラススコープの ExtensionContext を使用します。

注意 : このクラスには JUnit Jupiter 6.0 以上が必要です。

導入:
5.0
作成者:
Sam Brannen, Simon Basl é
関連事項: