Единичное тестирование сопрограммы Kotlin с задержкой

Я пытаюсь выполнить тестирование тестовой программы Kotlin, использующей delay() . Для модульного теста я не забочусь о delay() , это просто замедляет тест. Я бы хотел каким-то образом запустить тест, который фактически не задерживается при вызове функции delay() .

Я попытался запустить сопрограмму coroutine, используя специальный контекст, который делегирует CommonPool:

 class TestUiContext : CoroutineDispatcher(), Delay { suspend override fun delay(time: Long, unit: TimeUnit) { // I'd like it to call this } override fun scheduleResumeAfterDelay(time: Long, unit: TimeUnit, continuation: CancellableContinuation<Unit>) { // but instead it calls this } override fun dispatch(context: CoroutineContext, block: Runnable) { CommonPool.dispatch(context, block) } } 

Я надеялся, что могу просто вернуться из метода delay() моего контекста, но вместо этого он вызывает мой метод scheduleResumeAfterDelay() , и я не знаю, как делегировать его планировщику по умолчанию.