TDD for Android
TDD for Android
$6.00
Minimum price
$15.00
Suggested price
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.

About the Authors

Matteo Vaccari
Matteo Vaccari

Matteo Vaccari is an agile coach specializing in Extreme Programming.  He works for ThoughtWorks in Italy. He enjoys Unix, science fiction and good food.

Table of Contents

  • 1. Introduction
    • What will we learn?
    • Our philosophy
    • What this book is not about
    • Assumptions
  • 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
    • Examples
    • 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
    • References
  • 8. Presenter First
    • Mock objects
    • Mocks
  • 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...

Write and Publish on Leanpub

Authors, publishers and universities use Leanpub to publish amazing in-progress and completed books and courses, just like this one. You can use Leanpub to write, publish and sell your book or course as well! Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks. Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. It really is that easy.

Learn more about writing on Leanpub