我尝试用作测试资源时无法加载我的文件

时间:2018-02-14 13:32:39

标签: java junit apache-commons

这是我的项目结构:我有一个xml file,我需要将其与junit test case一起使用,我不知道为什么我无法获取此文件。

即使我用intellij将目录标记为测试目录资源,也没办法。 enter image description here

这是我的方法:

@Before
    public void init() throws Exception {

        xml = IOUtils.toString(
                this.getClass().getResourceAsStream("reponse.xml"),
                "UTF-8"
        );
        ......
    }

我总是得到相同的错误跟踪:

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:1906)
        at org.apache.commons.io.IOUtils.toString(IOUtils.java:778)
        at org.apache.commons.io.IOUtils.toString(IOUtils.java:803)
        at fr.gouv.crpcen.restitution.ParserServiceTest.init(ParserServiceTest.java:113)

2 个答案:

答案 0 :(得分:1)

你错过了一些小细节,没有这个东西就行不通。

这是固定版本:

@Before
public void init() throws Exception {

    xml = IOUtils.toString(
            this.getClass().getResourceAsStream("/response.xml"),
            "UTF-8"
    );
    ......
}

我检查它的效果就像迷人。

答案 1 :(得分:0)

尝试将“reponse.xml”更改为“/reponse.xml”