Book Image

Kickstart Modern Android Development with Jetpack and Kotlin

By : Catalin Ghita
5 (1)
Book Image

Kickstart Modern Android Development with Jetpack and Kotlin

5 (1)
By: Catalin Ghita

Overview of this book

With Jetpack libraries, you can build and design high-quality, robust Android apps that have an improved architecture and work consistently across different versions and devices. This book will help you understand how Jetpack allows developers to follow best practices and architectural patterns when building Android apps while also eliminating boilerplate code. Developers working with Android and Kotlin will be able to put their knowledge to work with this condensed practical guide to building apps with the most popular Jetpack libraries, including Jetpack Compose, ViewModel, Hilt, Room, Paging, Lifecycle, and Navigation. You'll get to grips with relevant libraries and architectural patterns, including popular libraries in the Android ecosystem such as Retrofit, Coroutines, and Flow while building modern applications with real-world data. By the end of this Android app development book, you'll have learned how to leverage Jetpack libraries and your knowledge of architectural concepts for building, designing, and testing robust Android applications for various use cases.
Table of Contents (17 chapters)
1
Part 1: Exploring the Core Jetpack Suite and Other Libraries
7
Part 2: A Guide to Clean Application Architecture with Jetpack Libraries
13
Part 3: Diving into Other Jetpack Libraries

Covering the basics of unit-testing your core logic

Apart from testing our UI layer, we must also test the core logic of our application. This means that we should try to verify as much behavior as possible in terms of presentation logic (testing ViewModel classes), business logic (testing UseCase classes), or even data logic (testing Repository classes).

The easiest way of validating such logic is by writing unit tests for each class or group of classes whose behavior we're trying to verify.

In this section, we will be writing unit tests for the RestaurantsViewModel class and the ToggleRestaurantUseCase class. Since these components don't interact directly with the UI, their unit tests will run directly on your local workstation's Java Virtual Machine (JVM), rather than running on an Android device, as our UI tests did.

To summarize, in this section, we will be doing the following:

  • Testing the functionality of a ViewModel class
  • Testing the functionality...