类型安全配置:从 src/test/resources 加载配置
Typesafe Config: Load configuration from src/test/resources
这是一个初学者问题。所以我的应用程序结构看起来像
src/main/java/...
src/main/resources/application.conf
src/test/java/...
src/test/resources/module/test.module.conf
application.conf
location: mainLocation
test.module.conf
location: testLocation
在我的测试中,我
@Test
public void testLoadConfig() {
final Config config = ConfigFactory.parseResources("test.module.conf");
System.out.println(config);
}
和我看到的
Config(SimpleConfigObject({}))
肯定是哪里不对,但我看不出来
更新
当我做的时候
@Test
public void testActorForFailure() {
// final Config config = ConfigFactory.load("test.module.conf");
final Config config = ConfigFactory.load();
System.out.println(config.getString("location"));
}
我明白了
mainLocation
所以覆盖不起作用,为什么?
如果你想加载那个测试配置文件试试这个:
ConfigFactory.load("modules/test.module")
基础 ConfigFactory.load()
方法看起来加载 'application.conf'。如果你想让它加载一个不同的文件,你需要告诉它那个不同的文件是什么。
这是一个初学者问题。所以我的应用程序结构看起来像
src/main/java/...
src/main/resources/application.conf
src/test/java/...
src/test/resources/module/test.module.conf
application.conf
location: mainLocation
test.module.conf
location: testLocation
在我的测试中,我
@Test
public void testLoadConfig() {
final Config config = ConfigFactory.parseResources("test.module.conf");
System.out.println(config);
}
和我看到的
Config(SimpleConfigObject({}))
肯定是哪里不对,但我看不出来
更新
当我做的时候
@Test
public void testActorForFailure() {
// final Config config = ConfigFactory.load("test.module.conf");
final Config config = ConfigFactory.load();
System.out.println(config.getString("location"));
}
我明白了
mainLocation
所以覆盖不起作用,为什么?
如果你想加载那个测试配置文件试试这个:
ConfigFactory.load("modules/test.module")
基础 ConfigFactory.load()
方法看起来加载 'application.conf'。如果你想让它加载一个不同的文件,你需要告诉它那个不同的文件是什么。