Modern Android Testing
Unit, Compose, screenshot, and end-to-end testing strategies.
47 chapters · first 2 free to read
Chapters
- Chapter 1: Why Modern Android Testing Is Different · Free
- Chapter 2: The Testing Landscape · Free
- Chapter 3: Setting Up a Testable Project
- Chapter 4: Anatomy of a Good Test
- Chapter 5: Test Doubles Explained
- Chapter 6: Assertion Libraries
- Chapter 7: Testing Pure Kotlin and Domain Logic
- Chapter 8: Testing Use Cases and Repositories with Fakes
- Chapter 9: Parameterized and Data-Driven Tests
- Chapter 10: Testing Coroutines
- Chapter 11: Injecting Dispatchers for Testability
- Chapter 12: Testing Flows with Turbine
- Chapter 13: Testing StateFlow and SharedFlow
- Chapter 14: Testing ViewModels End to State
- Chapter 15: Compose Testing Fundamentals
- Chapter 16: Semantics and Accessibility as a Testing Contract
- Chapter 17: Testing State, Recomposition, and Side Effects
- Chapter 18: Synchronization and Idling
- Chapter 19: Testing Navigation
- Chapter 20: Testing Compose Screens with Hilt
- Chapter 21: The Robot Pattern for Readable UI Tests
- Chapter 22: Why Screenshot Testing
- Chapter 23: Paparazzi
- Chapter 24: Roborazzi
- Chapter 25: Compose Preview Screenshot Testing
- Chapter 26: Paparazzi vs. Roborazzi vs. Preview Screenshot Testing
- Chapter 27: Testing Across Configurations
- Chapter 28: Managing Golden Images
- Chapter 29: Testing Room and Migrations
- Chapter 30: Testing DataStore and Preferences
- Chapter 31: Network Testing with MockWebServer
- Chapter 32: Testing WorkManager
- Chapter 33: Espresso and View Interop
- Chapter 34: Designing an E2E Strategy
- Chapter 35: Full User Journeys with Compose
- Chapter 36: Maestro
- Chapter 37: Running E2E at Scale
- Chapter 38: Test-Driven Development in a Compose Codebase
- Chapter 39: Fighting Flakiness
- Chapter 40: Coverage That Means Something
- Chapter 41: Fast Feedback
- Chapter 42: Wiring It All into CI/CD
- Chapter 43: Property-Based Testing with Kotest
- Chapter 44: Testing Multi-Module Projects
- Chapter 45: Testing Shared KMP/CMP Code
- Chapter 46: Performance Testing
- Chapter 47: Accessibility Testing as a First-Class Concern