我在 Maven 和 Eclipse 中进行测试时遇到问题。
我从 Eclipse 运行我的测试套件,一切正常,但是当我运行时
mvn test
我有一个例外,当我尝试读取测试用例中的一些文件时,它会出现,如下所示:
final File javaFolder = new File("WEB-INF/test/file");
当我这样做时,出现空指针异常并进行调试,我看到路径是
C:\Users\myUser\AppData\Local\Temp\WEB-INF\test\file
另外,我认为重要的是我覆盖了我的pom中的测试目录,因为我们需要在一个特殊的地方测试源。我们是这样做的:
<testSourceDirectory>WEB-INF/test/java</testSourceDirectory>
所以我的问题是:为什么使用 Maven 运行测试没有获得正确的工作目录?我可以定义一个特定的文件夹来读取某些文件吗?我尝试过类似的事情
getClass().getResource("myFile").getFile()
但是当我打印绝对路径时C:\Users\myUser\AppData\Local...\myFile
again
编辑:我没有机会遵循惯例,因为我正在谈论一个从未使用过 Maven 的大型系统,因此无法更改所有目录结构。可悲的是,这不是我的愿望。
此外,当我打印“user.dir”时,我有:C:\Users\myUser\AppData\Local\Temp
Edit2:我的项目路径在另一个分区中E:\work\myProject