2017-10-18 4 views
0

は、私はこのようなYAMLファイルを持っている: サービス: URL:springbootアプリケーションでyamlファイルからプロパティ値を読み取る方法は?私のプロジェクトで

@RunWith(SpringRunner.class) 
@SpringBootTest(properties = 
{"service.url=http://10.10.100.09/service/ping"},webEnvironment = 
SpringBootTest.WebEnvironment.RANDOM_PORT) 
public abstract class BaseIntegration { 

@Value("${local.server.port}") 
private int serverPort; 

@Before 
public void setup() { 
    RestAssured.port = serverPort; 
} 

}

私のテスト拡張されていますhttp://10.10.100.09/service/ping

は現在、私はこのようなセットアップ私のテストを持っていますBaseIntegrationクラスとテストコードがそこにあります。

質問:設定ファイルからurlプロパティを直接読み込み、テストでハードコードしないでください。

私は@SpringBootApplicationアノテーションを使用しようとしましたが、テストを開始するときにエラーを出しました。

+0

を試すことができます/ src/test/resources/application-test.yml'? – varren

答えて

0

あなたはデフォルトの `/ srcに/メイン/リソース/ application.yml`ファイルからか、いくつかの`からプロパティを読みたいん

@SpringBootTest(properties = {"${service.url}"},webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)

または

@SpringBootTest(properties = {"service.url"},webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)

+0

私は最初のオプションを試しましたが、それは動作しません。サービスのURLはyamlファイルから読み込まれていません。私のテストは失敗しています – worrynerd

+0

あなたはapplication-test.ymlを作成し、その上に変数を入れます。 – gokhanbirincii

+0

それを試してみてください。今、私はtest-application.yamlファイルとは違うエラーが出てきていますが、laodeではなくクラスパスにも見つかりません。私はgradleを使用しています。私はそこに何かする必要がありますか? – worrynerd

関連する問題