2015-04-29 5 views
5

Dies ist ein Anfänger Frage. Also meine app Struktur sieht wieConfig Typesafe: Lastkonfiguration aus 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 

In meinem Test, ich

@Test 
    public void testLoadConfig() { 
    final Config config = ConfigFactory.parseResources("test.module.conf"); 
    System.out.println(config); 
    } 

und was ich sehe

Config(SimpleConfigObject({})) 

Sicherlich etwas nicht stimmt, aber ich kann es nicht

UPDATE

Stelle, wenn ich nur

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

    } 

I siehe

mainLocation 

Also Überschreiben funktioniert nicht, warum?

+0

Versuchen 'System.out.println (config.getString ("location"));' ' – Titus

+0

com.typesafe.config.ConfigException $ fehlt: Keine Einstellung Konfiguration für Schlüssel‚gefunden location'' – daydreamer

+0

Sie die falsch geschrieben habe Dateiname 'test.module.config' anstelle von' test.module.conf' – Titus

Antwort

8

Wenn Sie das Testkonfigurationsdatei laden möchten versuchen Sie dies:

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

Die Basis ConfigFactory.load() Methode sieht ‚application.conf‘ zu laden. Wenn Sie möchten, dass eine andere Datei geladen wird, müssen Sie ihr mitteilen, um welche Datei es sich handelt.