Краткий ответ
В качестве быстрого обходного пути вы можете executePendingBindings
в onBindViewHolder
viewDataBinding.viewModel = myViewModel
viewDataBinding.executePendingBindings()
Объяснение
Когда вы устанавливаете модель для viewBindigns под капотом Android, привязки данных вызывают ViewDataBinding.requestRebind
, которая запрашивает, чтобы chareorgrapher выполнил привязки в следующем кадре. Поэтому в то время, когда Espresso сопоставляет текст, привязки еще не применяются, то есть представление еще не получило данные из модели представления.
Если вы ищете альтернативу и, скажем, более «чистый» подход, вы можете попробовать executePendingBindings
в вашем ViewHolderMatcher
, это должно сработать, но это требует больше усилий, а я не пробовал.