Hilt Container Activity для тестов
Feb 20 2023
Давайте за 2 минуты посмотрим, зачем нужна активность Hilt для тестов и как ее создать/использовать? Hilt упрощает тестирование. Вам не нужно всегда создавать отдельную активность для тестирования, если это действительно не требуется. Возможные сценарии для тестовой активности Существуют различные ситуации, когда вы хотите создать отдельную активность для тестирования e.
Давайте за 2 минуты посмотрим, зачем нужна активность Hilt для тестов и как ее создать/использовать?
Hilt упрощает тестирование. Вам не нужно всегда создавать отдельную активность для тестирования, если это действительно не требуется.
Возможные сценарии тестовой деятельности
Существуют разные ситуации, когда вы хотите создать отдельную активность для тестирования, например, по следующим причинам, но не ограничиваясь ими.
- Вы хотите протестировать
Composableно ваше приложениеActivityможет иметь другиеComposables, которые вы не хотите создавать или тестировать, например, у вас есть макет нижнего или ящика в качестве родительского контейнера,Activityно вы хотите протестировать определенныйComposable - Обычно для тестирования
Fragmentвы сначала запускаетеActivityконтейнерFragment. поэтому, если у контейнераFragmentесть аннотация@AndroidEntryPoint, контейнерActivityтакже должен быть аннотирован.@AndroidEntryPoint.Если вы просто используетеActivityScenario, это не происходит автоматически. Вот почему вам нужно создать контейнер активности - Ваш
Composableзависит от aViewModelиViewModelаннотирован,@HiltViewModelи в вашем тесте вы хотите получить viewModel черезhiltViewModel()зависимости разрешения API.
Пойдем шаг за шагом
- Создать
debugпапку вapp/main/src - Создайте папку с именем
kotlinв этойdebugпапке - Создайте пакет с именем вашего пакета приложения, например
com.name1.name2 - Теперь создайте активность внутри этой папки
HiltTestActivityи аннотируйте ее с помощью@AndroidEntryPoint - Вам нужно добавить это действие в
Android Manifestс помощью.exported=falseДля этого вам нужно добавить следующую зависимость
debugImplementation "androidx.compose.ui:ui-test-manifest:$compose_version"
Как использовать в тесте?
Сначала нужно создать тестовое правило, HiltTestActivityа затем установить содержимое активности Composable, которое вы хотите протестировать.
Теперь setupтест, как показано ниже.
Теперь вы можете использовать composeTestRuleдля выполнения теста на вашемComposable
Вот и все!
Скачать проект можно отсюда

![В любом случае, что такое связанный список? [Часть 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































