2015-04-29 2 views
5

Ceci est une question débutant. Donc, ma structure d'application ressembleTypesafe Config: Charger la configuration à partir de 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 

Dans mon test, je ne

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

et ce que je vois

Config(SimpleConfigObject({})) 

Sûrement quelque chose ne va pas, mais je ne peux pas le repérer

MISE À JOUR

Quand je fais juste

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

    } 

I voir

mainLocation 

Donc, le dépassement ne fonctionne pas, pourquoi?

+0

Essayez 'System.out.println (config.getString ("emplacement")),' ' – Titus

+0

com.typesafe.config.ConfigException $ manquant: Aucun paramètre de configuration trouvée pour clé « location'' – daydreamer

+0

Vous avez mal orthographié le filename 'test.module.config' au lieu de 'test.module.conf' – Titus

Répondre

8

Si vous voulez charger le fichier de configuration de test, essayez ceci:

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

La base méthode ConfigFactory.load() semble charger 'application.conf'. Si vous voulez charger un fichier différent, vous devez lui indiquer ce qu'est ce fichier différent.