LiveData的Transformations.map不会仅在单元测试中触发

问题描述 投票:0回答:1

我有一个像这样的ViewModel:

class MyViewModel {
    val title = MutableLiveData<String>()
    val onTitleError: LiveData<Int?> = Transformations.map(title, this::validateTitle)
}

问题是,在单元测试期间执行Transformations.map不会因title值更改而触发。例如:

val viewModel = MyViewModel()
viewModel.title.value = "123"

Assert.assertEquals(viewModel.onTitleError.value, R.string.myError)

我正在将此规则用于LiveData测试:

@Rule
var liveDataRule: TestRule = InstantTaskExecutorRule()

[在仪器测试中执行或正常运行时,一切正常。

android unit-testing kotlin android-livedata
1个回答
1
投票

您需要observe您的onTitleError LiveData才能填充其value

© www.soinside.com 2019 - 2024. All rights reserved.