首页 > 解决方案 > 使用 mockito 和 kotlin 协程流程的单元测试 viewModel

问题描述

我正在学习使用 Mockito 进行单元测试,但我不明白如何在我的 viewModel 上进行此单元测试,在我的 viewModels 代码下方,

    private val _state = MutableLiveData<Resource<ResponseMealsCategory>>()
    val states: LiveData<Resource<ResponseMealsCategory>> get() = _state

    fun loadAllCategories(){
        viewModelScope.launch {
            repository.getAllCategories()
                ?.onStart {
                    _state.postValue(Resource.onLoading(data = null))
                }
                ?.catch {
                    _state.postValue(Resource.onFailed(data = null, message = null))
                }
                ?.collect { category ->
                    _state.postValue(Resource.onSuccess(data = category))
                }
        }
    }
}

maybe someone can help me to do unit test on my viewModel?

标签: androidmockitoviewmodelkotlin-coroutinesflow

解决方案


推荐阅读