Hi :slightly_smiling_face:. I would like to test s...
# multiplatform
j
Hi 🙂. I would like to test sharedFlow on ios platform. So I would like to do exactly this https://stackoverflow.com/questions/65235632/how-to-unit-test-that-a-mutablesharedflowtreplay-0-has-emitted-a-value . It doesn’t work on ios using this :
Copy code
expect fun runBlockingTest(block: suspend CoroutineScope.()-> Unit)
expect val testCoroutineContext: CoroutineContext

// JVM code:
actual val testCoroutineContext: CoroutineContext =
    Executors.newSingleThreadExecutor().asCoroutineDispatcher()
actual fun runBlockingTest(block: suspend CoroutineScope.() -> Unit) =
    runBlocking(testCoroutineContext) { this.block() }

// JS code:
val testScope = MainScope()
actual val testCoroutineContext: CoroutineContext = testScope.coroutineContext
actual fun runBlockingTest(block: suspend CoroutineScope.() -> Unit): dynamic = testScope.promise { this.block() }

//iOS code:
actual val testCoroutineContext: CoroutineContext =
    newSingleThreadContext("testRunner")

actual fun runBlockingTest(block: suspend CoroutineScope.() -> Unit) =
    runBlocking(testCoroutineContext) { this.block() }
failing with
kotlin.AssertionError: Expected <1>, actual <0>.
Did anybody successfully wrote test on ios platform testing sharedFlow? Anything about this topic will be appreciated 🙂. Thank you