Pracuję nad aplikacją Play (wersja 2.4) z Guice jako dostawcą DI. Wszystko działa dobrze, ale mam zestaw testów funkcjonalnych uruchomionych za pomocą ScalaTestPlus i chciałbym zastąpić niektóre zależności, gdy test jest uruchomiony. Testy są pisane przez rozszerzenie klasy OneServerPerSuite
podczas sprawdzania mojego interfejsu REST API.Jak zmienić wiązania Guice na testy funkcjonalne?
Czy istnieje sposób na inne zależności podczas testów?
EDIT: Przykładowy kod:
kontroler próbki:
class UserController @Inject()(userService: UserService) extends AbstractController { ... }
I dependecy definicja w module:
bind(classOf[UserService]) to (classOf[ProdUserService])
moich testów są tak:
class ApiTest extends PlaySpec with OneServerPerSuite {
"User API should" must {
"get User's data" in {
(...) //calling to an endpoint and verifying response
}
}
}
Chciałbym zastąpić ProdUserService
inną implementacją, ale tylko w testach.
Czy masz przykładowy kod? – Kmeixner
Zaktualizowałem pytanie za pomocą przykładowego kodu. – walak