我有一些引用文件名的代码。在服务器上,这个引用是相对于我的war
目录的。但是,当我运行测试时,似乎没有设置相对根目录 - 只有从本地 HD 的根目录开始的绝对路径才能真正找到文件。
我正在 AppEngine 的上下文中进行测试LocalServiceTestHelper
,它在其getAppDir
方法中返回我的 war 目录,但代码仍然无法理解相对路径。
如何在 JUnit 测试中设置相对文件名的根?
我有一些引用文件名的代码。在服务器上,这个引用是相对于我的war
目录的。但是,当我运行测试时,似乎没有设置相对根目录 - 只有从本地 HD 的根目录开始的绝对路径才能真正找到文件。
我正在 AppEngine 的上下文中进行测试LocalServiceTestHelper
,它在其getAppDir
方法中返回我的 war 目录,但代码仍然无法理解相对路径。
如何在 JUnit 测试中设置相对文件名的根?
有多种选择。在任何情况下,我都会将文件访问(或至少文件路径解析)封装在一个单独的类中。这样,您可以:
对于我的单元测试,我创建了一个名为SupportFilePathResolver的实用程序类(参见代码)。它通过在类路径中查找文件。如果您关心的文件在类路径中,这会很好地工作。如果不在类路径中,那么这对您没有帮助。