在JUnit,AppEngine中设置相对文件路径的根目录

时间:2012-04-20 19:59:13

标签: java google-app-engine junit

我有一些引用文件名的代码。在服务器上,此引用与我的war目录相关。但是,当我运行测试时,似乎没有设置相对根 - 只有绝对路径,从本地HD的根开始,实际上找到了文件。

我正在AppEngine LocalServiceTestHelper的上下文中进行测试,它在getAppDir方法中返回我的war目录,但代码仍无法理解相对路径。

如何在JUnit测试中设置相对文件名的根?

2 个答案:

答案 0 :(得分:2)

有很多选择。无论如何,我将文件访问(或至少文件路径解析)封装在一个单独的类中。那样,你可以:

  • 在测试中模拟该类以提供正确的文件(路径)
  • 将环境变量传递给测试类以解析正确的文件(路径)
  • 如果找不到文件(在测试中就是这种情况),请提供后备实现
  • 等...

答案 1 :(得分:0)

对于我的单元测试,我创建了一个名为SupportFilePathResolver的实用程序类(请参阅代码)。它通过查看类路径找到该文件。如果您关心的文件位于类路径中,这很有效。如果不在类路径中,那么这对你没有帮助。