我有一些引用文件名的代碼。在服務器上,該引用是相對於我的war
目錄。但是,當我運行測試時,相對根目錄似乎沒有設置 - 只有從本地HD根目錄開始的絕對路徑才能找到文件。在JUnit中設置相對文件路徑的根目錄,AppEngine
我在AppEngine LocalServiceTestHelper
的環境中測試,它在getAppDir
方法中返回我的戰爭目錄,但代碼仍然無法理解相對路徑。
如何在JUnit測試中設置相對文件名的根目錄?
我有一些引用文件名的代碼。在服務器上,該引用是相對於我的war
目錄。但是,當我運行測試時,相對根目錄似乎沒有設置 - 只有從本地HD根目錄開始的絕對路徑才能找到文件。在JUnit中設置相對文件路徑的根目錄,AppEngine
我在AppEngine LocalServiceTestHelper
的環境中測試,它在getAppDir
方法中返回我的戰爭目錄,但代碼仍然無法理解相對路徑。
如何在JUnit測試中設置相對文件名的根目錄?
有多種選擇。在任何情況下,我都會將文件訪問(或至少是文件路徑解析)封裝在一個單獨的類中。這樣一來,你可以:
對於我的單元測試,我創建了一個名爲SupportFilePathResolver的實用程序類(請參閱代碼)。它通過查找類路徑來查找文件。如果你關心的文件在類路徑中,這很好地工作。如果不在類路徑中,那麼這對你沒有幫助。