アノテーションインターフェース ActiveProfiles
ActiveProfiles はクラスレベルのアノテーションであり、テストクラスの ApplicationContext をロードするときに使用するアクティブな Bean 定義プロファイルを宣言するために使用されます。このアノテーションは、カスタム構成アノテーションを作成するためのメタアノテーションとして使用することができます。
Spring Framework 5.3 以降、このアノテーションはデフォルトでそれを囲むテストクラスから継承されます。詳細については、@NestedTestConfiguration を参照してください。
- 導入:
- 3.1
- 作成者:
- Sam Brannen
- 関連事項:
オプション要素の概要
オプション要素修飾子と型オプションの要素説明booleanスーパークラスおよびそれを囲むクラスからの Bean 定義プロファイルを継承する必要があるかどうか。StringSE[]アクティブにする Bean 定義プロファイル。ClassSE<? extends ActiveProfilesResolver>プログラムでアクティブな Bean 定義プロファイルを解決するために使用するActiveProfilesResolverの型。StringSE[]profiles()のエイリアス。
要素の詳細
value
profiles()のエイリアス。この属性は、
profiles()と組み合わせて使用することはできませんが、profiles()の代わりに使用することができます。- デフォルト:
- {}
profiles
- デフォルト:
- {}
resolver
ClassSE<? extends ActiveProfilesResolver> resolverプログラムでアクティブな Bean 定義プロファイルを解決するために使用するActiveProfilesResolverの型。- 導入:
- 4.0
- 関連事項:
- デフォルト:
- org.springframework.test.context.ActiveProfilesResolver.class
inheritProfiles
boolean inheritProfilesスーパークラスおよびそれを囲むクラスからの Bean 定義プロファイルを継承する必要があるかどうか。デフォルト値は
trueです。これは、テストクラスがテストスーパークラスまたはそれを囲むクラスによって定義された Bean 定義プロファイルを継承することを意味します。具体的には、テストクラスの Bean 定義プロファイルは、テストスーパークラスまたはそれを囲むクラスによって定義された Bean 定義プロファイルのリストに追加されます。サブクラスとネストされたクラスには、Bean 定義プロファイルのリストを拡張するオプションがあります。inheritProfilesがfalseに設定されている場合、テストクラスの Bean 定義プロファイルはシャドウイングされ、スーパークラスまたはそれを囲むクラスによって定義された Bean 定義プロファイルを効果的に置き換えます。次の例では、
BaseTestのApplicationContextは、「ベース」Bean 定義プロファイルのみを使用してロードされます。「拡張」プロファイルで定義された Bean はロードされません。対照的に、ExtendedTestのApplicationContextは、「ベース」 および 「拡張」Bean 定義プロファイルを使用してロードされます。@ActiveProfiles("base") @ContextConfiguration public class BaseTest { // ... } @ActiveProfiles("extended") @ContextConfiguration public class ExtendedTest extends BaseTest { // ... }メモ:
@ActiveProfilesは、パスベースのリソースロケーションまたはアノテーション付きクラスからApplicationContextをロードするときに使用できます。- 関連事項:
- デフォルト:
- true