# Flow testing with Turbine

DevFeed: [Flow testing with Turbine](<https://devfeed.tech/articles/flow-testing-with-turbine-20886.md>)

Original publisher: [Read original article](<https://code.cash.app/flow-testing-with-turbine>)

Author: Jake Wharton

Published: 2023-06-21T00:00:00Z

Content type: tutorial

Language: en

Sources: [Jake Wharton](<https://devfeed.tech/sources/jake-wharton.md>)

Topics: [Testing](<https://devfeed.tech/topics/testing.md>), [Coroutines](<https://devfeed.tech/topics/coroutines.md>), [Library](<https://devfeed.tech/topics/library.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>)

Tags: [coroutines](<https://devfeed.tech/tags/coroutines.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [library](<https://devfeed.tech/tags/library.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [skip](<https://devfeed.tech/tags/skip.md>), [suspend](<https://devfeed.tech/tags/suspend.md>), [test](<https://devfeed.tech/tags/test.md>), [testing](<https://devfeed.tech/tags/testing.md>), [timeout](<https://devfeed.tech/tags/timeout.md>)

## AI overview

Cash App introduces Turbine 1.0, a library for testing Kotlin kotlinx.coroutines Flow by converting push-based streams into pull-based suspend functions. Turbine suspends while waiting for events and fails tests when unexpected events or timeouts occur. It also supports error handling, skipping items, cancellation, standalone adapters for callbacks, and utilities for testing multiple streams.

## Source excerpt

This post was published externally on Cash App Code Blog. Read it at https://code.cash.app/flow-testing-with-turbine.