Guice as DI sağlayıcısı olan bir Play (v. 2.4) uygulaması üzerinde çalışıyorum. Her şey iyi çalışıyor ancak ScalaTestPlus ile çalışan bir dizi fonksiyonel test var ve test çalışırken bazı bağımlılıkları değiştirmek istiyorum. Testler, REST API'mı kontrol ettikleri için OneServerPerSuite
sınıfını genişleterek yazılır.İşlevsel testler için Guice bağlamaları nasıl değiştirebilirim?
Testler sırasında başka bağımlılıklara sahip olmanın bir yolu var mı?
DÜZENLEME: Örnek kod:
Numune denetleyici:
class UserController @Inject()(userService: UserService) extends AbstractController { ... }
Ve modülünde Bağımlılığı tanım:
bind(classOf[UserService]) to (classOf[ProdUserService])
Benim testlerde
bu şekildedir:class ApiTest extends PlaySpec with OneServerPerSuite {
"User API should" must {
"get User's data" in {
(...) //calling to an endpoint and verifying response
}
}
}
ProdUserService
'un diğer uygulamalarla değiştirilmesini ancak yalnızca testlerde olmasını istiyorum.
Eğer herhangi bir örnek kod var mı? – Kmeixner
Soruyu örnek kodla güncelledim. – walak