Android: Как написать инструментальный тест для фрагмента в зависимости от атрибута живых данных viewmodel? - PullRequest
1 голос
/ 10 января 2020

У меня есть просмотр списка в пользовательском интерфейсе фрагмента, набор элементов которого зависит от состояния значения, полученного из атрибута LiveData viewmodel.

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

Мой код должен выглядеть примерно так:

class MyViewModel : ViewModel() {
var status = MutableLiveData("")
}


class MyFragment : Fragment() {

private lateinit var myViewModel: MyViewModel

private lateinit var myListView: ListView

override fun onAttach(context: Context) {
    AndroidSupportInjection.inject(this)
    super.onAttach(context)

    myViewModel =
        ViewModelProviders.of(this, ViewModelProvider.Factory).get(MyViewModel::class.java)
}

override fun onCreateView(
    inflater: LayoutInflater,
    container: ViewGroup?,
    savedInstanceState: Bundle?
): View? {

    when (myViewModel?.status) {

        "status1":
            setListContent(items1)

        "status2":
            setListContent(items2)

        "status3":
            setListContent(items3)

        else
            setListContent(items1)

    }
}

private fun setListContent(itemsList: List<?>) {
    myListView.adapter = MyCustomadapter(context!!, itemsList)
}
}
...