问题描述
我跟着 https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-test/ ,看起来 runBlockingTest 正在跳过延迟协程,并且我无法从主函数延迟后到达代码。是否有一个很好的方法来单元测试/推进计时器并相应地断言标志?
你能帮我对我的主要功能进行单元测试吗
// my main function is having multiple delay coroutines to set a flag true/false
fun delayFunction() {
launch { // coroutine scope
isFlag = false
delay(1000)
isFlag = true
delay(1000)
isFlag = false
}
}
// I tried unit testing something like this
@Test
fun `test delayFunction`() {
runBlockingTest {
delayFunction()
advanceTimeBy(1001)
assertthat(isFlag).isTrue()
advanceTimeBy(1001)
assertthat(isFlag).isFalse()
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)