Написание теста составления с помощью ViewModel в зависимостиAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Написание теста составления с помощью ViewModel в зависимости

Сообщение Anonymous »

Я пытаюсь написать роботоэлектрический тест на компоновку с кодом, который выглядит следующим образом:

Код: Выделить всё

@Composable
fun MyParentLayout() {
val viewModel = hiltViewModel()
MyParentImpl(viewModel.someValue)
}

@Composable
fun MyParentImpl(someValue:Int) {
//A lot of displayed data
MySubLayout()
//A lot more data
}

@Composable
fun MySubLayout() {
val viewModel = hiltViewModel()
//display code
}
Я могу легко реорганизовать MySubLayout, чтобы удалить модель представления и протестировать ее напрямую, как я это сделал с родительским элементом (и я это сделал). Но при попытке протестировать MyParentLayout ему необходимо напрямую вызвать MySubLayout, что приведет к получению MySubViewModel, что приведет к сбою, поскольку в модульных тестах рукоять не подключена.
У меня есть работа, в которой мы устанавливаем локальное значение композиции в тесте, и код ищет это переопределение и использует значения по умолчанию вместо выборки модели представления. Но это кажется немного неприятным, к тому же мы на самом деле не тестируем код, который у нас есть в производстве. Я также мог бы вызвать вызов, чтобы получить уровень модели представления 1 и передать соответствующие биты состояния, но это становится обременительным, когда он проходит через несколько уровней, как это происходит в некоторых случаях. Есть ли лучший способ справиться с этим?

Подробнее здесь: https://stackoverflow.com/questions/798 ... dependency
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»