Suite • opensavvy.prepared.suite • advanceUntilIdle
advanceUntilIdle¶
Runs all enqueued tasks in the specified order, advancing the virtual time as needed until there are no more scheduled tasks.
This is similar to delay(Long.MAX_VALUE)
, except it leaves the virtual time on whenever the last task was scheduled.
Example¶
test("Execute subtasks") {
launch {
delay(1000)
println("A")
launch {
delay(3000)
println("B")
}
}
launch {
delay(2000)
println("C")
}
time.advanceUntilIdle()
assertEquals(4000, time.nowMillis)
}
Background tasks¶
This method advances time until all the last foreground tasks's scheduled time. There may be background tasks that are scheduled for later.
Stability warning¶
The KotlinX.Coroutines team is considering removing this functionality. Learn more in #3919.