2015-03-08 50 views
-2

我想弄清楚我是否可以在測試環境中加載相同的.yml屬性文件,因爲我真的加載了。在測試環境中加載相同的屬性(yml)文件?

比如我有一個測試:

\src\test\java\security\TokenTest.java 

標註有:

@RunWith(SpringJUnit4ClassRunner.class) 
@SpringApplicationConfiguration(classes = Application.class) 
@WebAppConfiguration 
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) 
@ActiveProfiles("dev") 

然後,我有:

\src\main\resources\application.yml 

當我運行應用程序,環境拿起財產來自yml位置。

每當我運行我的測試時,環境都看不到這個文件 - 即屬性源不會被創建/填充。

顯而易見的解決辦法是把重複的文件添加到測試地點:

\src\test\resources\application.yml 

它會加載,但是這是不好的 - 因爲它感知測試和主要資源之間的區別時引發不必要的混亂條款。

如果每個環境都有配置文件,則會增強此前一個問題。

有沒有辦法從src/main/resources加載資源進行測試?

這可能是一些基本的類路徑掃描概念,我不知道。

我的情況是,我已經面對的噩夢,當你有每enviornment 5個陽明屬性文件中的src/main /資源,那麼你有相應的從你的團隊中的src /測試/資源陽明屬性文件和某人5。100 %在某些時候會導致它們之間的差異,使得其他人長期流血。

所以無論如何,測試必須引用相同的配置文件,而不是在其自身的無效上下文中的丟失。

解決方法:嘗試「重建」項目。

回答

1

有沒有辦法從src/main/resources加載資源進行測試?

它適合我。也許你的IDE沒有在保存或其他東西上拷貝更改到輸出目錄(我聽說IntelliJ用戶必須開啓該功能)?

+0

你能解釋一下設置Intelli來支持這個嗎?謝謝! – 2015-07-02 08:59:53

0

我和你有同樣的問題,但我發現這是我在intellij的運行配置中的一個類路徑問題,當它設置爲它應該已經作爲魅力加載application.yml從主/資源。

相關問題