Springブートアプリケーションでbootstrap.propertiesを使用して、Spring Cloud Config関連のプロパティを設定しています。Springブートテスト - オーバーライドするbootstrap.properties
ユニットテストのために設定サーバに接続したくないので、テスト中にこれらのプロパティを無視したいと考えています。したがって、メイン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ブートのドキュメントは、application.propertiesの動作についてはかなり良いですが、bootstrap.properties
という参照も1件も見つかりませんでした。
テスト中にbootstrap.properties
をオーバーライドする信頼できる方法については、何か助けてください。試行錯誤の多くがtest
に春のプロファイルを設定することで、それが実際にbootstrap-test.properties
を選び、メインbootstrap.properties
ファイルであることを兼ね備えたことが判明した後
はありません私のために働く。デフォルトでは 'bootstrap-test.properties'は無視されます。私は '@TestPropertySource(locations =" classpath:bootstrap-test.properties ")'を '@ SpringBootTest'クラスに追加しなければなりませんでした。 Springブートスターター1.5.3.RELEASEの使用。 – user909481
私は以下を行った: *変更*ビルド。このようなユニットテストのためのスプリング・プロファイルを指定するためのGradle: 'テスト{ \t systemProperties System.properties \t systemProperties.put( "spring.profiles.active"、 "ユニットテスト")を }' '* *作成bootstrap- unittest.yml'を実行し、 'src/test/resources'に配置します。 'spring.cloud'が有効になっているすべてのプロパティがfalseに設定されています。 – toddcscar
@ user909481 'bootstrap-test.properties'はテストに' @ActiveProfiles( 'test') 'がある場合にのみ自動的に選択されます。すべてのテストでそれを無効にする必要がある場合は、 – Doug