【发布时间】:2019-04-15 17:36:42
【问题描述】:
当我在我的视图模型中添加协程延迟()时,其余部分代码将不会执行。
这是我的演示代码:
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
知道如何解决这个问题吗?
【问题讨论】:
标签: android unit-testing kotlin coroutine kotlin-coroutines