如何在JUnit测试中从项目根文件夹访问文件?

时间:2018-06-23 11:29:07

标签: java junit

问题:

一种方法从项目根目录中的文件夹加载文件。当我在JUnit中使用此方法时,找不到文件,因为JUnit使用其他“上下文”来访问文件。

代码:

加载文件的方法:

public class SomeClass {
    public static String getSomeFile() throws Exception {
        Path path = Paths.get("somefiles/someFile");
        System.out.println(path.toAbsolutePath());
        return new String(Files.readAllBytes(path));
    }
}

>> 正确使用了路径:/[PATH_TO_PROJECT]/somefiles/someFile

测试方法:

@Test
public void getSomeFile() throws Exception {
    System.out.println(SomeClass.getSomeFile());
}

>> 尝试从/[PATH_TO_PROJECT]/.idea/modules/somefiles/someFile

中读取文件

目标:

通过JUnit从根文件夹而不是test/resources读取文件。

约束:

  • 我不想通过test/resourcesClassLoader.getSystemResource("someFiles/someFile")加载副本,因为我必须保留文件的2个版本。这太冒险了。
  • 我不想使用绝对路径来访问文件,因为环境会改变。

感谢您的任何建议!

0 个答案:

没有答案