Spring Boot アプリで bootstrap.properties を使用して、Spring Cloud Config 関連のプロパティを構成しています。
ユニット テストのために構成サーバーに接続したくないため、テスト中はこれらのプロパティを無視します。そのため、メインからプロパティを完全に元に戻しbootstrap.properties
、テスト用に新しいプロパティを提供するか、選択したプロパティをオーバーライドする方法を探しています。
プロパティを使用して を作成しようとしましたがsrc/test/resources/bootstrap.properties
、機能しませんでした。src/test/resources/bootstrap-test.properties
spring.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")
それ以外の場合は、次のことができます。
@ActiveProfiles('test')
テストクラスに追加する- という名前のファイルを作成します
bootstrap-test.properties
- 上書きしたいプロパティを追加します。例:
spring.cloud.config.enabled=false
アップデート:Spring Cloud Configを無効にしたい場合は全てテストを実行するには、次のプロパティを使用してフォルダーbootstrap.properties
内にを作成するだけです。test/resources
spring.cloud.config.enabled=false