如何在JUnit测试中从src / main / resources中读取文件?

时间:2017-05-29 10:46:53

标签: java junit

我有一个junit测试用例和一个我想在该测试期间加载的文件。该文件位于src/main/resources下,而这些包的名称与java testfile相同:

src/test/java/my/path/to/FileTest.java
src/test/resource/my/path/to/test.txt

用法:

public class FileTest {
    @Test
    public void testRead() {
        String content = IOUtils.toString(this.getClass().getResourceAsStream("test.txt"), Charset.defaultCharset());
        System.out.println(content);
    }
}

在IDE中运行测试用例时出现异常:

java.lang.NullPointerException
    at java.io.Reader.<init>(Reader.java:78)
    at java.io.InputStreamReader.<init>(InputStreamReader.java:113)
    at org.apache.commons.io.IOUtils.copy(IOUtils.java:2272)
    at org.apache.commons.io.IOUtils.toString(IOUtils.java:1041)

这里可能有什么问题?

1 个答案:

答案 0 :(得分:0)

我结束了将测试文件直接放入/src/main/resources而没有子包,并使用。

PropertiesLoaderUtils.loadProperties(new ClassPathResource(filename));