Spring-bootはスプリングプロファイルこれにより、異なる環境ごとに個別の構成を持つことができます。この機能を使用する方法の 1 つは、統合テストで使用するテスト データベースを構成することです。ただし、独自のプロファイル「test」を作成し、各テスト ファイルでこのプロファイルを明示的にアクティブ化する必要があるかどうか疑問に思います。現在、私は次のようにしています。
内部にapplication-test.propertiesを作成する
src/main/resources
そこにテスト固有の設定を記述します(今のところはデータベース名のみ)
すべてのテスト ファイルに次の内容を含めます。
@ActiveProfiles("test")
もっとスマートで簡潔な方法はありますか? たとえば、デフォルトのテスト プロファイルなどでしょうか?
編集1: この質問はSpring-Boot 1.4.1に関するものです
ベストアンサー1
私の知る限り、あなたのリクエストに直接対応するものは何もありませんが、役立つかもしれない提案をすることができます:
独自のテストアノテーションを使用することもできます。メタ注釈@SpringBootTest
およびで構成されます@ActiveProfiles("test")
。したがって、専用のプロファイルは必要ですが、プロファイル定義がテスト全体に分散することは避けてください。
この注釈はデフォルトでプロファイルに設定されtest
、メタ注釈を使用してプロファイルを上書きできます。
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@SpringBootTest
@ActiveProfiles
public @interface MyApplicationTest {
@AliasFor(annotation = ActiveProfiles.class, attribute = "profiles") String[] activeProfiles() default {"test"};
}