TDD for Android
This book is 50% complete
Last updated on 2016-01-23
About the Book
WARNING -- this books is out of date. Since the time we wrote it, the Android community caught up with good unit testing techniques such as MVP, and the Android development environment improved so that it's now much easier to run true unit tests. It might still be useful as a reference.
Updating your app frequently and safely... add new features quickly ... sleep well at night... these are the promises of Test-Driven Development. But it's not easy to do TDD in Android. Sometimes it looks like the framework and the testing libraries conspire against you! In this book we'll see how to get a big productivity boost without wasting too much time on complicated testing libraries or frequent reloading of the test code on the device.
We'll see how to write tests effectively, from the point of view of a programmer (not a tester!) We'll see which test to write and which ones not to write. We'll learn age-old techniques of TDD and software design that will help you in mobile development in general, not just with native Android. Above all, we'll learn how to make TDD fun!!!
I've worked through the book as it exists so far and am really impressed! Even as is, it explains the concepts beautifully and the examples build nicely and are non-trivial, yet clearly presented. — Michael Mee
If you are a student, or unemployed, or for some other reason you find it difficult to buy the book, contact the authors. We'll let you have it for free.
- What will we learn?
- Our philosophy
- What this book is not about
2. Why doing TDD with Android is challenging
- Android problem #1: the OS does the instantiating
- Android problem #2: all tests run on the device
3. The Android Development Process
- At a glance
- Break down a project in User Stories
- Concrete examples
- Start with a Spike
- Test-Driven Development
- Acceptance-TDD (ATDD)
4. Some tests are useful, some tests are not
- Model-view separation and testing the GUI
5. Hello, World! Standard Project Setup
- First step: new project!
- Change the text
- Introduce a new module
- First unit test
- Using the core logic in the app
- What we’ve done
6. A simple form-based application: Unit Doctor
- Problem description
- Start with a spike
- Continue with an end-to-end acceptance test
- Shift to TDD
- Wait…. and the view?
- The main partition
- The compile-time project structure
- What now?
7. Dependency Inversion and Android-free code
8. Presenter First
- Mock objects
- 9. A Complex forms application with Presenter-first (TBD)
10. Drawing on the screen and sensing touch
- Digging deeper into Android
- Problem Description
- Start with a spike
- Acceptance tests
- Setup the project
- Start the TDD
- Moving on to drawing
- Trying it out!
11. Working with Multi-Touch (CHAPTER IN PROGRESS)
- Logging information about motion events
- Creating an adapter
12. More Android (TBD)
- Persisting data (TBD)
- App life-cycle (TBD)
- 13. References
The Leanpub 45-day 100% Happiness Guarantee
Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
See full terms...