2017-09-17 2 views
0

J'ai une classe que j'utilise dans playframework qui injecte automatiquement la dépendance.Comment créer manuellement une classe avec une configuration pour tester

Comment puis-je créer cette classe « manuellement » dans mon code de test:

class AppConfog @Inject()(c: Configuration) { 
    val supportEmail = c.getString("app.email").get 
    ... 
} 

Je ne suis pas sûr de savoir comment obtenir une classe de configuration pour passer en elle.

Je sais que je peux créer une configuration en ligne comme:

val config = 
    """ 
    akka { 
     loglevel = "WARNING" 
    } 
    """ 

    ConfigFactory.parseString(config) 

Comment puis-je obtenir une configuration à partir d'une configuration?

Répondre

2

Je pense que Configuration de Play vient juste de recouvrir Typesafe Config que vous obtenez avec votre ConfigFactory.parseString(config). Voir here.
Donc, vous devriez être capable de faire ceci:

val underlying = ConfigFactory.parseString(config) 
val configuration = Configuration(underlying) 
val mockAppConfog = new AppConfog(configuration)