Ich arbeite an einer Play (V. 2.4) -Anwendung mit Guice als DI-Provider. Alles läuft gut, aber ich habe eine Reihe von Funktionstests laufen mit ScalaTestPlus und ich möchte einige Abhängigkeiten zu ersetzen, wenn der Test ausgeführt wird. Die Tests werden geschrieben, indem die Klasse OneServerPerSuite
erweitert wird, während sie meine REST-API überprüfen.Wie ändere ich Guice-Bindungen für Funktionstests?
Gibt es eine Möglichkeit, andere Abhängigkeiten während der Tests zu haben?
EDIT: Beispielcode:
Beispiel Controller:
class UserController @Inject()(userService: UserService) extends AbstractController { ... }
Und dependecy Definition in Modul:
bind(classOf[UserService]) to (classOf[ProdUserService])
Meine Tests sind wie folgt aus:
class ApiTest extends PlaySpec with OneServerPerSuite {
"User API should" must {
"get User's data" in {
(...) //calling to an endpoint and verifying response
}
}
}
Ich möchte ProdUserService
mit einer anderen Implementierung ersetzt haben, aber nur in Tests.
Haben Sie Codebeispiel? – Kmeixner
Ich habe die Frage mit Beispielcode aktualisiert. – walak