Функция тестирования на ViewModel с LiveData - PullRequest
0 голосов
/ 23 марта 2020

У меня есть следующий класс kotlin для тестирования, класс является моделью представления android архитектуры с liveata.

class MyViewModel : ViewModel() {
    private var myList: ArrayList<MyData>
    val listLiveData = MutableLiveData<List<MyData>>()
    ...

    private fun publish(toBePublished: List<MyData>) {
        listLiveData.postValue(toBePublished)
    } 

    fun sort(sortCriteria: SortCriteria) {
        // ...  Business logic to be tested
        // ...  This method works with myList
        publish(sorted)
    }
    ...
}


class MyViewModelTest {
    @Test
    fun sort() {
        val myList =  ......
        val viewModel = Mockito.mock(MyViewModel::class.java)
        FieldSetter.setField(viewModel, viewModel.javaClass.getDeclaredField("myList"), myList)

        viewModel.sort(sortCriteria)

        assert ???
    }
}

Как проверить результат метода sort?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...