Cześć
Chciałbym napisać testy instrumentacyjne dla swojej aplikacji, jednak utknąłem na etapie wstrzykiwania zależności do mojego Activity
bo mam pewien dylemat.
Jako że nie ma możliwości wstrzykiwania zależności poprzez konstruktor, to z tego co widzę w dokumentacji Androida, zależności można wstrzyknąć bezpośrednio do pola używając Hilta albo Daggera, w taki sposób:
@AndroidEntryPoint
class ExampleActivity : AppCompatActivity() {
@Inject lateinit var analytics: AnalyticsAdapter
...
}
Tylko że aby to było możliwe, to pole nie może być prywatne. W tym momencie zapala mi się czerwona lampka, no bo przecież nie chcemy aby jakiś inny obiekt miał dostęp do naszego pola analytics
, szczególnie że jest to var
, to pole powinno być prywatne.
Więc chciałbym was zapytać - co robić? Jak żyć? Czy w tym wypadku należy nie przejmować się hermetyzacją, albo może istnieje jakiś inny sposób na wstrzykiwanie zależności aby umożliwić sobie testowanie?