@TargetSE(valueSE=TYPESE) @RetentionSE(valueSE=RUNTIMESE) @DocumentedSE @InheritedSE public @interface NestedTestConfiguration
@NestedTestConfiguration
は、クラス階層を囲む(つまり、内部テストクラスの)Spring Test 構成アノテーションの処理方法を構成するために使用される型レベルのアノテーションです。@NestedTestConfiguration
は、そのスーパー型階層内、またはその外側のクラス階層では、テストクラスに存在するか、メタ存在しない場合は、設定の継承モードを囲むデフォルトが使用されます。ネストされたインターフェースの囲んでいるクラスでの @NestedTestConfiguration
宣言は、インターフェースを実装するクラスでアノテーションを検索するときに無視されます。デフォルトモードを変更する方法の詳細については、ENCLOSING_CONFIGURATION_PROPERTY_NAME
を参照してください。
INHERIT
モードが使用されている場合、包含テストクラスからの構成は、テストクラス継承階層内のセマンティクスと同様に、内部テストクラスによって継承されます。OVERRIDE
モードが使用されている場合、内部テストクラスは独自の Spring Test 構成アノテーションを宣言する必要があります。モードを明示的に構成する場合は、内部テストクラスまたはそれを囲むクラスの 1 つに @NestedTestConfiguration(...)
アノテーションを付けます。@NestedTestConfiguration(...)
宣言は、スーパークラス階層内およびそれを囲むクラス階層内で継承されることに注意してください。モードを切り替えたい場合を除いて、アノテーションを再宣言する必要はありません。
このアノテーションは、カスタム構成アノテーションを作成するためのメタアノテーションとして使用することができます。
Spring Framework 5.3 では、このアノテーションの使用は通常、JUnit Jupiter の @Nested
テストクラスと組み合わせた場合にのみ意味があります。ただし、このアノテーションを利用できるネストされたテストクラスをサポートする他のテストフレームワークが存在する場合があります。
Spring TestContext フレームワークは、次のアノテーションの @NestedTestConfiguration
セマンティクスを尊重します。
NestedTestConfiguration.EnclosingConfiguration.INHERIT
, NestedTestConfiguration.EnclosingConfiguration.OVERRIDE
修飾子と型 | フィールドと説明 |
---|---|
static StringSE | ENCLOSING_CONFIGURATION_PROPERTY_NAME デフォルトの包含構成継承モードを変更するために使用される JVM システムプロパティ: "spring.test.enclosing.configuration"。 |
修飾子と型 | 必須要素と説明 |
---|---|
NestedTestConfiguration.EnclosingConfiguration | value |
public static final StringSE ENCLOSING_CONFIGURATION_PROPERTY_NAME
サポートされている値には、大文字と小文字を区別せずに、NestedTestConfiguration.EnclosingConfiguration
で定義されている列挙型定数が含まれます。例: コマンドラインから次の JVM システムプロパティを指定することにより、デフォルトを NestedTestConfiguration.EnclosingConfiguration.OVERRIDE
に変更できます。
-Dspring.test.enclosing.configuration=override
プロパティが OVERRIDE
に設定されていない場合、内部テストクラスのテスト構成は、デフォルトで NestedTestConfiguration.EnclosingConfiguration.INHERIT
セマンティクスに従って継承されます。
あるいは、SpringProperties
メカニズムを介して構成することもできます。
value()