В twitter-clone
Например, следующий firebase клиент определяется:finatra/примеры/твиттер-клон: Тестирование firebase клиента
@Singleton
class FirebaseClient @Inject()(
httpClient: HttpClient,
mapper: FinatraObjectMapper) {
// ...
}
Я хотел бы написать тест, который использует этот класс. У меня есть проблема в том, что я не могу просто переменное создание экземпляра этого класса в моем тестовом коде:
class FirebaseClientTest extends ??? {
val firebaseClient: FirebaseClient = new FirebaseClient(???, ???)
}
Поскольку я не знаю, как экземпляр HttpClient
и FinatraObjectMapper
фактически создаются в коде производства. Я мог бы попытаться создать эти объекты вручную, но это добавляет шаблон, который я бы хотел избежать.
Как я могу получить экземпляр FirebaseClient
магией механизмов внедрения dependecy, используемых в Finatra?