クラス 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) のアノテーションを付けることで、テストクラススコープの拡張コンテキストを使用するように SpringExtension を構成できます。ただし、トップレベルのテストクラスが JUnit Jupiter の @TestInstance(Lifecycle.PER_CLASS) セマンティクスを使用するように構成されている場合、SpringExtension は常にテストクラススコープの ExtensionContext を使用することに注意してください。その場合、@SpringExtensionConfig(useTestClassScopedExtensionContext = true) を宣言する必要はありません。

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

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