Book Image

Simplifying Android Development with Coroutines and Flows

By : Jomar Tigcal
Book Image

Simplifying Android Development with Coroutines and Flows

By: Jomar Tigcal

Overview of this book

Coroutines and flows are the new recommended way for developers to carry out asynchronous programming in Android using simple, modern, and testable code. This book will teach you how coroutines and flows work and how to use them in building Android applications, along with helping you to develop modern Android applications with asynchronous programming using real data. The book begins by showing you how to create and handle Kotlin coroutines on Android. You’ll explore asynchronous programming in Kotlin, and understand how to test Kotlin coroutines. Next, you'll learn about Kotlin flows on Android, and have a closer look at using Kotlin flows by getting to grips with handling flow cancellations and exceptions and testing the flows. By the end of this book, you'll have the skills you need to build high-quality and maintainable Android applications using coroutines and flows.
Table of Contents (11 chapters)
1
Part 1 – Kotlin Coroutines on Android
6
Part 2 – Kotlin Flows on Android

Summary

This chapter focused on testing Kotlin Flows in our Android project. We started by setting up the project for adding tests for the Flows. The coroutines testing library (kotlinx-coroutines-test) can help you in creating tests for coroutines and Flows.

We learned how to add tests for the Flows in your Android application. You can use a mock class that returns a Flow of values and then compare it with the returned values. You can also convert a Flow into List or Set, or take values from the Flow; you can then compare them with the expected values.

Then, we learned about testing hot Flows with Turbine, a third-party testing library for testing Kotlin Flows. Turbine has a test extension on Flow where you can consume and compare values one by one.

Finally, we worked on an exercise where we created tests for the Kotlin Flows in an existing Android project. We also used the Turbine testing library to make the writing of tests for Flows easier.

Throughout the book, we have...