Modern Android Testing

Unit, Compose, screenshot, and end-to-end testing strategies.

47 chapters · first 2 free to read

Start reading

Chapters

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