Java 我的文件可以';当我尝试用作测试资源时,无法加载
这是我的项目结构:我有一个Java 我的文件可以';当我尝试用作测试资源时,无法加载,java,junit,apache-commons,Java,Junit,Apache Commons,这是我的项目结构:我有一个xml文件,我需要将它用于我的junit测试用例,我不知道为什么我不能获得这个文件 即使我用intellij将目录标记为测试目录资源,也没有办法。 以下是我的方法: @Before public void init() throws Exception { xml = IOUtils.toString( this.getClass().getResourceAsStream("reponse.xml"),
xml文件
,我需要将它用于我的junit测试用例
,我不知道为什么我不能获得这个文件
即使我用intellij将目录标记为测试目录资源,也没有办法。
以下是我的方法:
@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)
java.lang.NullPointerException
在java.io.Reader上。(Reader.java:78)
位于java.io.InputStreamReader。(InputStreamReader.java:113)
位于org.apache.commons.io.IOUtils.copy(IOUtils.java:1906)
位于org.apache.commons.io.IOUtils.toString(IOUtils.java:778)
位于org.apache.commons.io.IOUtils.toString(IOUtils.java:803)
位于fr.gouv.crpcen.restitution.ParserServiceTest.init(ParserServiceTest.java:113)
尝试将“reponse.xml”更改为“/reponse.xml”您遗漏了一些小细节,如果没有这个,它将无法工作
以下是固定版本:
@Before
public void init() throws Exception {
xml = IOUtils.toString(
this.getClass().getResourceAsStream("/response.xml"),
"UTF-8"
);
......
}
我检查过它的工作方式很有魅力。当您使用相对路径(不是以“/”开头)加载资源时,它是相对于调用getResourceAsStream()的类加载的。因此,这是在创建我的CALS的同一级别上进行的搜索(即包java?),我的意思是当路径没有“/”时@o:这个问题应该能让我们了解一下: