как протестировать сопрограмму с контекстом и задержкой - PullRequest
0 голосов
/ 07 мая 2020

Это отлично работает:

 @Test
    fun repro() {
        runBlockingTest {
                delay(100)
        }
    }

Но это взрывается:

 @Test
    fun repro() {
        val testDispatcher = TestCoroutineDispatcher()
        runBlockingTest {
            withContext(testDispatcher) {
                delay(100)
            }
        }
    }

java .lang.IllegalStateException: это задание еще не завершено в kotlinx. coroutines.JobSupport.getCompletionExceptionOrNull (JobSupport.kt: 1189)

Почему? Я использую TestCoroutineDispatcher. Как я могу это исправить? В реальном примере у меня withContext вызывается в классе, который я использую, поэтому я не могу его удалить.

...