2017-10-18 53 views
0

在項目中,我有一個YAML文件是這樣的: 服務: 網址:http://10.10.100.09/service/ping如何在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; 
} 

}

我的測試被延長BaseIntegration類和測試代碼駐留在那裏。

問題:如何從配置文件直接讀取url屬性,而不是在測試中對其進行硬編碼?

我曾嘗試使用@SpringBootApplication註釋,但在開始測試時發生錯誤。

+0

你想讀從默認的'/ src目錄/主/資源/ application.yml'文件或財產的一些'/src/test/resources/application-test.yml'? – varren

回答

0

可以嘗試

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

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

+0

我試過第一個選項,它不工作。服務網址沒有從yaml文件中讀取,我的測試失敗了 – worrynerd

+0

也許你創建了application-test.yml並在其上放置了變量 – gokhanbirincii

+0

試過了。現在我得到了一個不同的test-application.yaml文件的錯誤,並且沒有在類路徑中找到。我正在使用gradle。我需要在那裏做任何事嗎? – worrynerd

相關問題