2015-01-26 519 views
0

我想通過運行/調試配置中的android測試來測試我的IntelliJ IDEA 14中的一個類。我的問題是,我似乎無法找到一個文件的路徑,這個文件讓我難以理解。IntelliJ 14 IDEA - 找不到文件的正確路徑

我的文件的位置是在:

main/tests/res/xml/myfile.xml 

這裏是我的源代碼:

public final void testMain() throws IOException, XmlPullParserException { 

    String curDir = System.getProperty("user.dir"); 
    File file = new File(myfile.xml); 

    Log.d(TAG, "Current sys dir: " + curDir); 
    Log.d(TAG, "Current abs dir: " + file.getCanonicalPath()); 
    Log.d(TAG, "Exists?: " + file.exists()); 

    if (!file.exists()) { 
     fail("Failed to find file: " + 
       file.getAbsolutePath()); 
    } 
} 

這裏是我的日誌輸出(很抱歉的格式):

Current sys dir:/
Current abs dir: /myfile.xml 
Exists?: false 
Failed to find file: /myfile.xml 

爲什麼我當前的sys目錄只有一個正斜槓?而我將如何獲得從「/」到「myfile.xml」的完整路徑

謝謝。

+1

使用類路徑!不要對目錄結構做出假設。 – 2015-01-26 23:32:08

+0

所以我必須做新的文件(「main/tests/res/xml/myfile.xml」)? – Olva 2015-01-26 23:55:29

回答

2

您可以在運行/調試配置中指定IntelliJ構思中的工作目錄。在IntelliJ工具欄中,查找運行圖標(綠色三角形)。運行圖標的左側應該有一個下拉菜單。點擊下拉菜單。點擊編輯配置。選擇您的配置並將工作目錄設置爲您需要的任何內容。

當您從IntelliJ運行程序(或開始調試)時,IntelliJ會將應用程序的工作目錄設置爲上面指定的任何內容。沒有辦法阻止IntelliJ設置目錄。程序中的所有相對路徑都將相對於此目錄。您的程序可以使用System.getProperty(「user.dir」)找到目錄。

+0

Android測試中沒有工作目錄,除非我做錯了什麼...... – Olva 2015-01-26 23:50:41

+0

Olva,你在IntelliJ工具欄中看到一個運行圖標(綠色三角形)嗎?你看到旁邊有一個下拉菜單嗎? – George 2015-01-27 03:10:46

+0

是的,我明白。我試圖測試一個擴展了TestCase的非活動類,並且我在「Android測試」下創建了一個新的配置,並且沒有工作目錄。也許我應該使用別的東西?這裏是我在哪裏:http://gyazo.com/afc644d46786baecb864e4fce5119d82 – Olva 2015-01-27 16:16:32

相關問題