0

実際のメソッドを呼び出して実行する 1 つのメソッドのテスト ケースを作成しました。

そのメソッドは、ディレクトリを作成するために使用されます。

以下は私のコードです:

実際の方法:

public String getDefaultFolderPath() {

String path = "";
        try {

            String os = System.getProperty("os.name");
            System.out.println("Os name Identified");
            if (os.toUpperCase().indexOf("WINDOWS") != -1) {
                File file = new File("C:/MARCDictionary");
                if (!file.exists()) {
                    System.out.println("11");
                    file.mkdir();
                }

                path = "C:/MARCDictionary";
            } else if (os.toUpperCase().indexOf("LINUX") != -1) {
                File file = new File("/usr/MARCDictionary");
                if (!file.exists()) {
                    System.out.println("22");
                    //file.mkdir();
                    file.createNewFile();
                }

                path = "/usr/MARCDictionary";
            } 
         } catch (Exception e) {
            e.printStackTrace();
        }

        return path;
}

テストケース :

@Test
    public void testGetDefaultFolderPath() {
        System.out.println("getDefaultFolderPath");
        Utilities instance = Utilities.getInstance();
        String expResult = "/usr/MARCDictionary";
        String result = instance.getDefaultFolderPath();
        assertEquals(expResult, result);

    }

エラーが表示されます:

getDefaultFolderPath
Os name Identified
22
java.io.IOException: Permission denied
    at java.io.UnixFileSystem.createFileExclusively(Native Method)
    at java.io.File.createNewFile(File.java:1006)
    at NGLUtility.NGLUtilities.getDefaultFolderPath(Utilities.java:108)
    at utilities.NGLUtilitiesTest.testGetDefaultFolderPath(UtilitiesTest.java:85)

org.junit.ComparisonFailure: 
Expected :/usr/MARCDictionary

任意の提案をしてください なぜこのようなことが起こっている..

私は使用UbuntuしていますIntellij IDEA.

4

1 に答える 1

1

/usrあなたのプログラムには、ディレクトリへの書き込み権限がありません。このフォルダに書き込み権限を与えるか、書き込み権限のある他のフォルダを試してください/usr。たとえば、/usr使用できるすべての権限を付与するにはchmod 777 /usr

お役に立てれば

于 2014-02-18T04:06:37.653 に答える