アノテーションインターフェース NestedTestConfiguration
@NestedTestConfiguration は、テストクラスに適用して、Spring Test 構成アノテーションが囲むクラス階層内 (つまり、内部テストクラス) でどのように処理されるかを構成できるアノテーションです。@NestedTestConfiguration がテストクラス、そのスーパー型階層、その包含クラス階層に存在しないかメタ存在 しない場合、デフォルトの包含構成継承モードが使用されます。ネストされたインターフェースの包含クラスでの @NestedTestConfiguration 宣言は、インターフェースを実装するクラスでアノテーションを検索するときに無視されます。デフォルトモードを変更する方法の詳細については、ENCLOSING_CONFIGURATION_PROPERTY_NAME を参照してください。
INHERIT モードが使用されている場合、包含テストクラスからの構成は、テストクラス継承階層内のセマンティクスと同様に、内部テストクラスによって継承されます。OVERRIDE モードが使用されている場合、内部テストクラスは独自の Spring Test 構成アノテーションを宣言する必要があります。モードを明示的に構成する場合は、内部テストクラスまたはそれを囲むクラスの 1 つに @NestedTestConfiguration(...) アノテーションを付けます。@NestedTestConfiguration(...) 宣言は、スーパークラス階層内およびそれを囲むクラス階層内で継承されることに注意してください。モードを切り替えたい場合を除いて、アノテーションを再宣言する必要はありません。
このアノテーションは、カスタム構成アノテーションを作成するためのメタアノテーションとして使用することができます。
このアノテーションの使用は、通常、JUnit Jupiter の @Nested テストクラスと組み合わせて使用する場合にのみ意味があります。ただし、ネストされたテストクラスをサポートする他のテストフレームワークでも、このアノテーションを使用できる場合があります。
Spring、TestContext、フレームワークと統合され、包含クラス階層内でのアノテーション継承をサポートする必要があるコンポーネントを開発している場合は、@NestedTestConfiguration セマンティクスを尊重するために、TestContextAnnotationUtils で提供されるアノテーション検索ユーティリティを使用する必要があります。
サポートされているアノテーション
Spring TestContext フレームワークは、次のアノテーションの @NestedTestConfiguration セマンティクスを尊重します。
@BootstrapWith@TestExecutionListeners@ContextCustomizerFactories@ContextConfiguration@ContextHierarchy@WebAppConfiguration@ActiveProfiles@TestPropertySource@DynamicPropertySource@TestBean@MockitoBean@MockitoSpyBean@DirtiesContext@Transactional@Rollback@Commit@Sql@SqlConfig@SqlMergeMode@TestConstructor
- 導入:
- 5.3
- 作成者:
- Sam Brannen
- 関連事項:
ネストされたクラスの要約
ネストされたクラス修飾子と型クラス説明static enumクラスを囲むことによるテスト構成が内部テストクラスに対してどのように処理されるかを指示するモードの列挙。フィールドのサマリー
フィールド修飾子と型フィールド説明static final StringSEデフォルトの包含構成継承モードを変更するために使用される JVM システムプロパティ: "spring.test.enclosing.configuration"。必須定数のサマリー
必須要素修飾子と型必須要素説明
フィールドの詳細
ENCLOSING_CONFIGURATION_PROPERTY_NAME
デフォルトの包含構成継承モードを変更するために使用される JVM システムプロパティ: "spring.test.enclosing.configuration"。サポートされている値には、大文字と小文字を区別せずに、
NestedTestConfiguration.EnclosingConfigurationで定義されている列挙型定数が含まれます。例: コマンドラインから次の JVM システムプロパティを指定することにより、デフォルトをNestedTestConfiguration.EnclosingConfiguration.OVERRIDEに変更できます。-Dspring.test.enclosing.configuration=override
プロパティが
OVERRIDEに設定されていない場合、内部テストクラスのテスト構成は、デフォルトでNestedTestConfiguration.EnclosingConfiguration.INHERITセマンティクスに従って継承されます。あるいは、
SpringPropertiesメカニズムを介して構成することもできます。- 関連事項:
要素の詳細
value
- 関連事項: