/ / Scala Play-Test kann WSClient während der Abhängigkeitsinjektion nicht finden - Scala, Testen, Playframework, Abhängigkeitspritze

Scala Play Test kann WSClient während der Abhängigkeitsinjektion nicht finden - Scala, Testen, Playframework, Abhängigkeitsinjektion

Ich versuche, eine Klasse in einen Unit-Test mit DI einzulesen:

val injector = new GuiceInjectorBuilder().injector()
val secured = injector.instanceOf[Secured]

Wenn ich es jedoch ausprobiere, erhalte ich folgende Fehlermeldung:

[info] Exception encountered when attempting to run a suite with class name: org.scalatest.DeferredAbortedSuite *** ABORTED ***
[info]   com.google.inject.ConfigurationException: Guice configuration errors:
[info]
[info] 1) No implementation for play.api.libs.ws.WSClient was bound.
[info]   while locating play.api.libs.ws.WSClient
[info]     for parameter 3 at com.fredley.Secured.<init>(Secured.scala:36)
[info]   while locating com.fredley.Secured

...

Was mache ich falsch?

Antworten:

1 für die Antwort № 1

Das Problem bestand nicht darin, den Injektor aus der Anwendung zu erstellen (was bedeutet, dass Play-Abhängigkeiten nicht geladen wurden). Das Problem wurde behoben:

val application = new GuiceApplicationBuilder().build
val secured = application.injector.instanceOf[Secured]