问题:
一种方法从项目根目录中的文件夹加载文件。当我在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/resources
从ClassLoader.getSystemResource("someFiles/someFile")
加载副本,因为我必须保留文件的2个版本。这太冒险了。感谢您的任何建议!