TDD for Android
TDD for Android
Free!
Minimum price
$0.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

Authors have earned$8,159,486writing, publishing and selling on Leanpub,
earning 80% royalties while saving up to 25 million pounds of CO2 and up to 46,000 trees.

Learn more about writing on Leanpub

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

Free Updates. Free App. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers), EPUB (for phones and tablets), MOBI (for Kindle) and in the free Leanpub App (for Mac, Windows, iOS and Android). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses! 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