Im twitter-clone
Beispiel wird die folgende Client definiert Firebase:finatra/examples/twitter-Klon: Testen der Feuerbasis Client
@Singleton
class FirebaseClient @Inject()(
httpClient: HttpClient,
mapper: FinatraObjectMapper) {
// ...
}
Ich möchte einen Test schreiben, die diese Klasse verwendet. Das Problem, das ich habe ist, dass ich nicht einfach eine Variable dieser Klasse in meinem Test-Code instanziiert kann:
class FirebaseClientTest extends ??? {
val firebaseClient: FirebaseClient = new FirebaseClient(???, ???)
}
Da ich weiß nicht, wie eine Instanz von HttpClient
und FinatraObjectMapper
erstellt tatsächlich im Produktionscode. Ich könnte versuchen, diese Objekte manuell zu erstellen, aber dies fügt einen Text hinzu, den ich gerne vermeiden würde.
Wie kann ich eine Instanz von FirebaseClient
durch die Magie der Abhängigkeit Injektion Mechanismen in Finatra bekommen?