2016-11-04 88 views
3

我們Spring Boot 1.3應用程序遷移到1.4,運行集成測試時,我們使用之前的文件從src/main/resources/config/文件夾這將覆蓋從application.yml文件屬性是從src/test/resources/config/文件夾中加載加載我們application-test.yml文件。春季啓動1.4測試加載YAML從主資源

但是,使用新版本的Spring Boot及其測試套件時,似乎在引導應用程序進行測試時,它不再檢查src/main下的資源文件夾。它只會檢查位於src/test/下的resources,並且僅在該文件夾的config/文件夾下查找.yml文件。

有沒有辦法告訴Spring Boot它應該在resources這兩個文件夾下查找.yml文件?

+0

我我正在運行Spring Boot 1.4,它在src/main/resources中拾取我的屬性文件沒有問題。你在你的Test類上使用了什麼註釋? – jrahhali

+0

我不希望它拿起基本的'application.properties',而是特定的'application-PROFILE.yml'文件。我正在運行@RunWith(SpringRunner.class),@SpringBootTest(Application.class),@ActiveProfiles(「test」)' – Konstantine

回答

4

最好有完全分離的資源。當然,你應該考慮一下。但是,削減長話短說,你可以嘗試做這樣的事情:

@TestPropertySource(locations = { 
    "classpath:test.yml", 
    "classpath:test-override.yml" }) 

如果你有*.yml,那麼別忘了申報你的類上面下面一行:

@ContextConfiguration(initializers = ConfigFileApplicationContextInitializer.class)