[英]Where should I put my properties file for tests?
我在此文件夾中當前有一個屬性文件:
/src/webapp/WEB-INF/classes/my.properties
我正在使用以下方式加載它:
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream is = classLoader.getResourceAsStream("/my.properties");
Properties props = new Properties();
try {
props.load(is);
} catch (IOException e) {
e.printStackTrace();
}
String test = props.getProperty("test");
現在,這在我的Spring mvc應用程序中可以正常工作。
但是,當我為此創建一個測試時,它失敗了,我認為是因為應用程序加載它的方式未使用web-inf / classs,因為它只是一個類,而不是spring Web應用程序。
那么我應該將屬性文件放在哪里,以便在運行junit測試時可以拾取屬性文件?
另外,對於我的Web應用程序,默認的類路徑中除/ web-inf / classes以外還有哪些其他文件夾?
如果你把my.properties
下/src/test/resources
的行家 ,這將作為一個正常的資源,你的測試。
我將在classLoader.getResourceAsStream("/my.properties");
刪除路徑(/ classLoader.getResourceAsStream("/my.properties");
因為類加載器從應用程序的根目錄啟動。 將文件保留在相同的位置。 然后更改為
String filename = "my.properties";
InputStream is = classLoader.getResourceAsStream(filename); //for web-app
if(is == null)
is = new FileInputStream (filename); //for testing
通常我將屬性文件直接放在src文件夾中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.