2015-04-29 24 views
5

這是一個初學者問題。所以,我的應用程序結構看起來像Typesafe Config:從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({})) 

東西肯定是不正確的,但我不能發現它

UPDATE

當我這樣做只是

@Test 
    public void testActorForFailure() { 
// final Config config = ConfigFactory.load("test.module.conf"); 
    final Config config = ConfigFactory.load(); 
    System.out.println(config.getString("location")); 

    } 

我見

mainLocation 

因此,壓倒一切是行不通的,爲什麼?

+0

嘗試'System.out.println(config.getString(「location」));' – Titus

+0

'com.typesafe.config.ConfigException $ Missing:找不到關鍵'location'的配置設置 – daydreamer

+0

您拼錯了filename'test.module.config'而不是'test.module.conf' – Titus

回答

8

如果要加載測試配置文件試試這個:

ConfigFactory.load("modules/test.module") 

基礎ConfigFactory.load()方法看起來加載「application.conf」。如果你想要加載一個不同的文件,你需要告訴它不同的文件是什麼。