如何在Eclipse中默认JUnit启动配置的工作目录?

2022-09-01 23:28:43

我们的Java代码(不是测试代码)从当前目录读取文件,这意味着每当我们运行代码时都需要正确设置工作目录。

从 Eclipse 中启动 JUnit 测试时,会自动创建启动配置。问题是,默认情况下,启动配置中的工作目录始终是根项目目录,这总是错误的,测试失败,我必须打开启动配置对话框,更改工作目录并重新启动测试。这很烦人。当我运行单个测试方法时,也会发生同样的事情。

我已经考虑过这些:

  • 从测试代码更改当前目录 - 设计上不可能。
  • 打开文件时,传递父目录参数 - 太难了,因为这会影响很多地方。
  • 使用 Eclipse 的复制启动配置功能,从已设置了正确工作目录的现有启动配置创建新的启动配置。这在这里没有意义,因为我想快速启动一个测试或测试方法,只是通过调用“运行这个测试/方法作为JUnit测试”。

总而言之,它看起来像是Eclipse的责任,而不是代码。

有没有办法为所有将来新创建的 JUnit 启动配置设置默认工作目录?


答案 1

这是一个主观的答案:

我相信你做错了测试,你不应该使用相对或完整路径从JUnit加载文件,而是将它们作为项目中的资源(将它们添加到构建路径中)并将它们作为资源加载到JUnit测试中。这样,如果文件系统上的某些内容发生更改,有人使用不同的文件系统或IDE,但仍然将它们放在构建路径中(作为源文件夹),您就不会有问题。

我不确定这是否是你的意思,但如果你真的想改变它,请转到运行配置选项 - >你的JUnit ->参数选项卡,在底部(Eclipse 3.4),你会看到工作目录,单击“其他”并从那里更改它。


答案 2

据我所知,在Eclipse 3.4中,没有办法为将来的JUnit启动配置更改默认工作目录。此问题也已报告为 Eclipse 错误数据库中的一个错误。

但是,在IDEA中是可能的。有“编辑默认值”按钮,用于为每个启动配置类型单独设置各种默认值。


推荐