我们的Java代码(不是测试代码)从当前目录中读取文件,这意味着每当我们运行代码时都需要正确设置工作目录.
从Eclipse中启动JUnit测试时,会自动创建启动配置.问题是,该启动配置中的工作目录始终默认为根项目目录,这总是错误的,测试失败,我必须打开启动配置对话框,更改工作目录并重新启动测试.这非常烦人.当我运行单个测试方法时,会发生同样的事情.
我已经考虑过了这些:
从测试代码更改当前目录 - 设计无法实现.
打开文件时,传递父目录参数 - 太难了,因为这会影响很多地方.
使用Eclipse 的" 复制启动配置"功能,可以从已具有正确工作目录集的现有配置创建新的启动配置.这在这里没有意义,因为我想快速启动测试或测试方法,只需调用"将此测试/方法作为JUnit测试运行".
总而言之,看起来它是Eclipse的责任,而不是代码.
有没有办法为所有未来的新创建的 JUnit启动配置设置默认工作目录?
这是一个主观的答案:
我相信你的测试是错误的,你不应该使用相对或完整路径从JUnit加载文件,而是将它们作为项目中的资源(将它们添加到构建路径)并将它们作为资源加载在JUnit测试中.这样,如果文件系统上的某些内容发生了变化,有人会使用不同的文件系统或IDE,但仍然在构建路径中使用它们(作为源文件夹),您将不会遇到问题.
我不确定这是不是你的意思,但如果你真的想要改变它,请转到运行配置选项 - >你的JUnit - > Arguments选项卡,在底部(Eclipse 3.4)你看到工作目录,点击'其他'和从那里改变它.
据我所知,没有办法在Eclipse 3.4中更改未来JUnit启动配置的默认工作目录.此问题也被报告为 Eclipse错误数据库中的错误.
但是,在IDEA中是可能的.还有的编辑默认值的设定单独进行各种默认的每次发射的配置类型的按钮.