Kotlin Turbain和带有延迟的CoroutineTest抛出TimeoutCancellationException

Kotlin Turbain和带有延迟的CoroutineTest抛出TimeoutCancellationException,kotlin,testing,junit,kotlin-coroutines,kotlin-coroutines-flow,Kotlin,Testing,Junit,Kotlin Coroutines,Kotlin Coroutines Flow,我试图通过使用和协同测试库来测试一个有延迟的流。有人知道我在这里错过了什么吗 @Test fun test(){ val flow = flow<Int> { emit(1) delay(1000) emit(2) } runBlockingTest { flow.test(Duration.INFINITE) {

我试图通过使用和协同测试库来测试一个有延迟的流。有人知道我在这里错过了什么吗

    @Test
    fun test(){
        val flow = flow<Int> {
            emit(1)
            delay(1000)
            emit(2)
        }

        runBlockingTest {
            flow.test(Duration.INFINITE) {
                expectItem()
                expectItem()
                expectComplete()
            }
        }
    }

从我对turbine和a的所有了解来看,似乎coroutine测试的时间推进功能会破坏turbine,以便使用turbine进行测试,我建议使用turbine测试中的
runBlocking
jvmSuspendTest
实现
kotlinx.coroutines.TimeoutCancellationException: Timed out waiting for 9223372036854775807 ms