当我在我的视图模型中添加协程延迟()时,其余部分代码将不会被执行。
这是我的演示代码:
class SimpleViewModel : ViewModel(), CoroutineScope {
override val coroutineContext: CoroutineContext
get() = Dispatchers.Unconfined
var data = 0
fun doSomething() {
launch {
delay(1000)
data = 1
}
}
}
class ScopedViewModelTest {
@Test
fun coroutineDelay() {
// Arrange
val viewModel = SimpleViewModel()
// ActTes
viewModel.doSomething()
// Assert
Assert.assertEquals(1, viewModel.data)
}
}
我得到了断言结果:
java.lang.AssertionError:
Expected :1
Actual :0
知道如何解决这个问题吗?