我在主应用程序中有不同的配置文件:
在主应用程序中,我可以使用以下内容加载不同的配置,其中"integration.conf"
被定义为环境变量:
ConfigFactory.load("integration.conf")
然而,相同的功能似乎在单元测试中不起作用。上面的代码没有任何内容。我尝试了以下操作,没有参数,然后加载默认的applicaton.conf
没有问题:
ConfigFactory.load()
我们如何在单元测试中加载特定的配置文件?
我也尝试过使用相对路径:
ConfigFactory.load("../main/resources/integration.conf")
甚至绝对路径:
ConfigFactory.load("/Users/.../src/main/resources/integration.conf")
但它们都不起作用。
编辑:
我意识到在@ pedromss的评论之后staging.conf
和production.conf
被正确加载。唯一有问题的是integration.conf
。这可能是因为integration.conf
只有一行:
integration.conf :
include file("application.conf")
似乎问题是include file("application.conf")
不起作用?我的其他配置和生产配置实际上覆盖了application.conf
中的默认值:
staging.conf :
include file("application.conf")
foo {
bucket="bucket-staging"
}
问题似乎include file("xxx")
应为include "xxx"
。感到惊讶的是,只有后来才能在单元测试中工作。
答案 0 :(得分:1)
include "application.conf"
- 然后您可以覆盖配置。
include file("application.conf")
不起作用,我在文档中没有看到它。