Growing Object-Oriented Software, Guided by Tests

Steve Freeman

Nat Pryce

This document generated on 23 June 2009


Acknowledgements
Preface
What Is This Book About?
Who Is This Book For?
Why Should You Listen To Us?
What Is In This Book?
I. Introduction
1. What Is the Point of Test Driven Development?
2. Test-Driven Development with Objects
3. An Introduction to the Tools
II. The Process of Test-Driven Development
4. Kick-Starting the Test-Driven Cycle
5. Maintaining the Test-Driven Cycle
6. Object-Oriented Style
7. Achieving Object-Oriented Design
8. Building on Third-Party Code
III. A Worked Example
9. Commissioning an Auction Sniper
10. The Walking Skeleton
11. Passing the First Test
12. Getting Ready To Bid
13. The Sniper Makes a Bid
14. The Sniper Wins the Auction
15. Towards a Real User Interface
16. Sniping for Multiple Items
17. Teasing Apart Main
18. Filling In the Detail
19. Handling Failure
IV. Sustainable Test-Driven Development
20. Listening to the Tests
21. The Readability of Tests
22. Test Diagnostics
23. Brittle and Flexible Tests
V. Advanced Topics
24. Constructing Complex Test Data
25. Testing Persistence
26. Unit Testing and Threads
27. Testing Asynchronous Code
VI. Appendices
A. jMock2 Cheat Sheet
B. Writing A Hamcrest Matcher
Bibliography