0

当我使用ClasspathSuite运行 JUnit 测试并且其中一个单元测试想要使用相对路径加载文件时,它将使用 ClasspathSuite 的基本路径而不是单元测试的基本路径。

例如,如果单元测试尝试加载这样的文件:

File file = new File("src/test/resources/test.xml");

它将尝试相对于 ClasspathSuite 的位置加载该文件,而不是相对于单元测试的位置。

有什么办法可以改变这个吗?

4

1 回答 1

0

我假设你正在使用 Eclipse。使用MYClass.class.getClassLoader().getResourceAsStream(<fileName>). 因为它在资源getClassLoader()中,所以如果您使用 eclipse,将能够轻松获取文件的位置。你的代码是,

File file = new File(MYClass.class.getClassLoader().getResourceAsStream("test.xml"));
于 2015-04-29T09:12:46.247 回答