我有一个中介LiveData
private val _userIsReady = MediatorLiveData<Boolean>()
val userIsReady: LiveData<Boolean> = _userIsReady.apply {
val dataUpdate = {
val userData = userDataResult.value?.userData
val passwordData = passwordResult.value
if (userData != null && passwordData != null) {
_userIsReady.postValue(true)
}
}
addSource(userDataResult) { dataUpdate() }
addSource(passwordResult) { dataUpdate() }
}
因此,这里的问题是如何在单元测试中创建dataUpdate触发器,并使userDataResult.value?.userData
和passwordResult.value
不为空。如果在测试中,我将能够进入if条件?
1条答案
按热度按时间rryofs0p1#
您需要一个附加到测试中的LiveData的Observer来观察每一个更改,没有它就观察不到任何更改。
下面是一个使用MockK库的简化例子: