Practical TDD for Android
summary
Argues that TDD is development guided by tests and shows a working approach used at Moonpig: an MVI pattern with expressive view states, intentions created on the previous reduction, and a public reducer so JVM tests can exercise the whole “green box.” Uses RxJava and Apollo mocks, keeps about 15 Espresso critical-journey UI tests, and drives most features with double-loop TDD acceptance tests while dropping to unit tests for repository mappers and reducers. The architecture reduces duplicated mocks and consistently ships working screens.
AI-written summary · about
chapters (7)
- 0:00Introduction and context
- 3:56What is TDD
- 8:10Misconceptions about TDD
- 14:47Why TDD is hard in real software
- 17:53Designing TDD-friendly architecture
- 28:28Double loop TDD in practice
- 36:49Testing UI and final thoughts
related talks
29mAh, Wonderful TDD — Peace of Mind for Apps and Engineers
41mUnit Test Your Code, Even Your UI!
35mTesting Android Apps Based on Dagger and RxJava
45mWhere do the Android tests belong?
38mTDD on Android
51mAndroid TDD with Kotlin
40mEffective TDD on Android with Kotlin
44mEfficient testing UI Android apps by example
