turbine / app.cash.turbine / kotlinx.coroutines.flow.Flow / test

test

@ExperimentalTime @ExperimentalCoroutinesApi suspend fun <T> Flow<T>.test(timeout: Duration = 1.seconds, validate: suspend FlowTurbine<T>.() -> Unit): Unit

Terminal flow operator that collects events from given flow and allows the validate lambda to consume and assert properties on them in order. If any exception occurs during validation the exception is rethrown from this method.

flowOf("one", "two").test {
  assertEquals("one", expectItem())
  assertEquals("two", expectItem())
  expectComplete()
}

Parameters

timeout - Duration each suspending function on FlowTurbine will wait before timing out.