I think that problem that runTest doesn't use the same korutine with the same time. I mean it just skip delay. Try to use runBlocking
If that's don't work, sorry, i don't know much about timeouts in kotlin, but maybe you need to use something like coAnswers: https://medium.com/@ralf.stuckert/testing-coroutines-timeout-36c22db1b06a https://notwoods.github.io/mockk-guidebook/docs/mocking/coroutines/