2015-04-29 9 views
5

Questa è una domanda per principianti. Quindi la mia struttura app assomigliaConfigurazione Typesafe: carica configurazione da src/test/risorse

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 

Nella mia prova, faccio

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

e quello che vedo

Config(SimpleConfigObject({})) 

Sicuramente qualcosa non è giusto, ma non riesco a individuare lo

UPDATE

Quando faccio solo

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

    } 

I vedi

mainLocation 

Quindi l'override non funziona, perché?

+0

Prova 'System.out.println (config.getString ("luogo"));' ' – Titus

+0

com.typesafe.config.ConfigException $ mancante: Nessuna impostazione di configurazione trovata per la chiave 'location'' – daydreamer

+0

Hai scritto male il nomefile 'test.module.config' invece di' test.module.conf' – Titus

risposta

8

Se si desidera caricare il file di configurazione di prova provare questo:

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

La base ConfigFactory.load() metodo cerca di caricare 'application.conf'. Se vuoi caricare un file diverso devi dirgli quale è quel diverso file.

Problemi correlati