Как смоделировать модель представления с помощью Hilt для фрагментов модульного тестирования? - PullRequest
5 голосов
/ 10 июля 2020

У меня есть приложение android для внедрения зависимостей с помощью Hilt, и я хотел бы провести модульное тестирование своих фрагментов.

В настоящее время я создаю свою модель представления, используя:

И я создаю фрагмент для тестирования, используя код из здесь

Мне нужно заменить эту ExampleViewModel на макет, как бы я go это сделал?

1 Ответ

0 голосов
/ 12 августа 2020

Я вставлю сюда ответ «danysantia go» в проблеме (https://github.com/google/dagger/issues/1972), связанной с вашим вопросом:

Расширение Hilt ViewModel работает путем объявления модулей которые привязывают вспомогательные фабрики к карте, а не путем привязки конкретных ViewModels. Следовательно, вы хотите связать вспомогательную фабрику конкретной ViewModel с помощью ключа абстрактной ViewModel, чтобы при поиске фабрики HiltViewModelFactory на основе ключа класса она использовала вспомогательную фабрику для конкретной ViewModel. Это слишком непонятно, и поэтому я имею в виду «нелегко».

Однако, если вы можете расширить тестовый пример, который вы пытаетесь написать, который может помочь нам дать некоторые рекомендации, я не уверен, что вы пытаетесь имитировать / подделать саму ViewModel для тестов, но API тестирования Hilt должны позволять вам заменять зависимости в ViewModel, чтобы вы могли написать тест с Fragment и ViewModel.

...