我有一个正在运行测试的Maven项目,它们将无法成功完成。问题在于,尝试加载文件时测试会返回NullPointerException(我相信这是由于错误的文件路径,但由于某些原因我无法正确处理)。
这是我的test.java文件的位置:
C:_MY_PROJECTS \ P1 \ trunk \ P1 \ modules \ P1-commons \ P1-core \ src \ test \ java \ si \ smth \ P1 \ test
这是我保留资源的地方:
C:_MY_PROJECTS \ P1 \ trunk \ P1 \ modules \ P1-commons \ P1-core \ src \ test \ resources
我在这里错过了什么吗?它曾经在Ant上运行过-现在我已经为Maven重新构建了项目,但似乎无法正常工作...
代码:
@Test
public void massImportGDTest_2() throws IOException {
InputStream in = this.getClass().getResource("resources/gd_mass.xls").openStream();
CAopParserMass parser = new CAopParserMass(in);
CInfo[] result = parser.parse();
assertEquals(11, result.length);
}
在测试运行时,它返回NullPointerException,我认为是文件路径错误的原因吗?对这件事有什么见识吗?
预先感谢, Bg
答案 0 :(得分:0)
我将文件放在 C:\ Users \ MyProfile \ Documents \ MyProject \ Repo \ java-platform \ src \ main \ resources \ reports
这对我来说是
java.io.InputStream in = this.getClass().getResource("/reports/gd_mass.xls").openStream();
将“ /”更改为“ \”,由于它从此处开始,因此不必表示“资源”。试试这个:
InputStream in = this.getClass().getResource("/gd_mass.xls").openStream();