无法访问junit测试中的测试资源

时间:2018-12-05 22:25:34

标签: java

编辑:原来我有一段时间没有重建程序了。如果针对此类问题的所有其他答案对您都不起作用,请尝试重建!谢谢蒂莫!

我看了很多答案,尝试了很多东西。我知道我一定在做一些极其轻微的错误。如果有人给我一个快速提示,请告诉我,这正在慢慢杀死我。

我的目录设置为: enter image description here

我正在尝试使用

读取testDom.xml
File testFile = new File(getClass().getResource("testDom.xml").getFile());

我尝试从类中加载:

File testFile = new File(GemsDomGetChildrenTest.class.getResource("testDom.xml").getFile());

我都尝试过使用路径

/lambda-compiler/src/test/resources/testDom.xml
/src/test/resources/testDom.xml
/test/resources/testDom.xml
/resources/testDom.xml
/testDom.xml
testDom.xml

我也尝试过所有这些路径,但也不要以'/'开头。

resources文件夹似乎也被添加为IntelliJ中的测试资源:

enter image description here

我知道这可能是一个重复性的问题,已经被问了一百万遍了,但是我真的很努力地想知道自己的工作方式与迄今为止我看到的所有其他问题都不一样。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

应为getResource("/testDom.xml")

答案 1 :(得分:1)

应该工作:

URL resource = GemsDomGetChildrenTest.class.getClassLoader().getResource("testDom.xml");
File file = new File(resource.toURI());

答案 2 :(得分:0)

好的,所以Timo能够弄清楚。我有一段时间没有重建项目了(:facepalm :)。来自这里的python世界,那里有些不同。感谢大家与我共同努力,这确实意义非凡!