2016-09-29 98 views
3

我試圖用Spring創建一個單元測試。「無法打開ServletContext資源」在測試環境中

Test類:

@RunWith(SpringRunner.class) 
@SpringBootTest(classes = {MyConfig.class}) 
public class MyTest{ 
@Test 
public void ... 
} 

類加載:

@ConfigurationProperties() 
@PropertySource("config/myConfig.properties") 
@Component 
public class MyConfig {} 

例外:

引起:org.springframework.beans.factory.BeanDefinitionStoreException:無法 解析配置類 [de.db.sus.converter.fia.business.algorithm.config.FiaCon verterConfig]; 嵌套的例外是java.io.FileNotFoundException:無法打開 ServletContext的資源[/config/myConfig.properties]

我發現資源的Web應用程序和/或基於XML的配置,但並不適用於轉讓他們。

如果我將通過@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)啓動應用程序,則會加載屬性。但是我無法爲每個單元測試啓動整個應用程序。

我已經驗證該文件在目錄測試存在/資源/配置/

回答

4

看來,請求屬性不能被發現。我建議這樣做:

@PropertySource("classpath:config/myConfig.properties")

如果請求的屬性文件是你的classpath中你可以只寫下一行上述修復

相關問題