小编Jon*_*han的帖子

Android 单元测试 kotlin:LiveData 值从未设置

我在单元测试时收到此错误:“LiveData 值从未设置。”

我正在尝试测试我的视图模型的 getStudents() 方法,如下所示:

学生视图模型:

@HiltViewModel
class StudentViewModel @Inject constructor(
    private val getStudentsUseCase: GetStudentsUseCase
) : ViewModel() {
    private val _studentLD = MutableLiveData<List<Student>>()
    val studentLD: LiveData<List<Student>> = _studentLD

    private val _errorLD = MutableLiveData<String>()
    val errorLD: LiveData<String> = _errorLD

    fun getStudents() {
        viewModelScope.launch {
            var result = getStudentsUseCase.execute()
            result.onSuccess {
                _studentLD.value = it
            }.onFailure {
                _errorLD.value = it.message.toString()
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

学生视图模型测试:

@OptIn(ExperimentalCoroutinesApi::class)
class StudentViewModelTest {

    private lateinit var viewModel: StudentViewModel

    @get:Rule
    var instantExecutorRule = InstantTaskExecutorRule()

    @get:Rule
    var mainCoroutineRule …
Run Code Online (Sandbox Code Playgroud)

junit android unit-testing kotlin android-studio

2
推荐指数
1
解决办法
4470
查看次数

标签 统计

android ×1

android-studio ×1

junit ×1

kotlin ×1

unit-testing ×1