Spring Boot テスト - bootstrap.properties のオーバーライド 質問する

Spring Boot テスト - bootstrap.properties のオーバーライド 質問する

Spring Boot アプリで bootstrap.properties を使用して、Spring Cloud Config 関連のプロパティを構成しています。

ユニット テストのために構成サーバーに接続したくないため、テスト中はこれらのプロパティを無視します。そのため、メインからプロパティを完全に元に戻しbootstrap.properties、テスト用に新しいプロパティを提供するか、選択したプロパティをオーバーライドする方法を探しています。

プロパティを使用して を作成しようとしましたがsrc/test/resources/bootstrap.properties、機能しませんでした。src/test/resources/bootstrap-test.propertiesspring.cloud.config.enabled=false

TestClassを開始する前に以下のように設定してみました

static {
    System.setProperty("spring.cloud.config.enabled", "false");
}

しかしそれは機能しませんでした。

Spring Boot のドキュメントでは application.properties の仕組みについてかなり詳しく説明されていますが、 への参照は 1 つも見つかりませんでしたbootstrap.properties

bootstrap.propertiesテスト中にオーバーライドするための信頼できる方法についての助言をいただければ幸いです。

ベストアンサー1

アノテーションを使用している場合は、次のよう@SpringBootTestにして のプロパティをオーバーライドできますbootstrap.properties

@SpringBootTest(properties = "spring.cloud.config.enabled=false")

それ以外の場合は、次のことができます。

  1. @ActiveProfiles('test')テストクラスに追加する
  2. という名前のファイルを作成しますbootstrap-test.properties
  3. 上書きしたいプロパティを追加します。例:spring.cloud.config.enabled=false

アップデート:Spring Cloud Configを無効にしたい場合は全てテストを実行するには、次のプロパティを使用してフォルダーbootstrap.properties内にを作成するだけです。test/resources

spring.cloud.config.enabled=false

おすすめ記事