最新の安定バージョンについては、Spring Framework 7.0.7 を使用してください!

@ActiveProfiles

@ActiveProfiles は、テストクラスに適用して、統合テスト用に ApplicationContext をロードするときにアクティブにする Bean 定義プロファイルを宣言できるアノテーションです。

次の例は、dev プロファイルがアクティブであることを示しています。

  • Java

  • Kotlin

@ContextConfiguration
@ActiveProfiles("dev") (1)
class DeveloperTests {
	// class body...
}
1dev プロファイルがアクティブであることを示します。
@ContextConfiguration
@ActiveProfiles("dev") (1)
class DeveloperTests {
	// class body...
}
1dev プロファイルがアクティブであることを示します。

次の例は、dev プロファイルと integration プロファイルの両方がアクティブであることを示しています。

  • Java

  • Kotlin

@ContextConfiguration
@ActiveProfiles({"dev", "integration"}) (1)
class DeveloperIntegrationTests {
	// class body...
}
1dev および integration プロファイルがアクティブであることを示します。
@ContextConfiguration
@ActiveProfiles(["dev", "integration"]) (1)
class DeveloperIntegrationTests {
	// class body...
}
1dev および integration プロファイルがアクティブであることを示します。
@ActiveProfiles は、スーパークラスによって宣言されたアクティブな Bean 定義プロファイルを継承し、デフォルトでクラスを囲むためのサポートを提供します。カスタム ActiveProfilesResolver を実装し、@ActiveProfiles の resolver 属性を使用して登録することにより、アクティブな Bean 定義プロファイルをプログラムで解決することもできます。
テストクラスで @ActiveProfiles が宣言されている場合、TestContext フレームワークはアクティブなプロファイルを決定する際に、spring.profiles.active プロパティ (JVM システムプロパティまたは環境変数として構成されているかどうかにかかわらず) を考慮しません。@ActiveProfiles を介して構成されたプロファイルを spring.profiles.active で上書きできるようにする必要がある場合は、環境プロファイルを使用したコンテキスト設定に従ってカスタム ActiveProfilesResolver を実装できます。