Chapter 1. The Money Problem
I would not give a fig for the simplicity this side of complexity, but I would give my life for the simplicity on the other side of complexity.
Oliver Wendell Holmes Jr.
Our development environment is ready. In this chapter, we’ll learn the three phases that support test-driven development. We’ll then write our first code feature using test-driven development.
Red-Green-Refactor: The Building Blocks of TDD
Test-driven development follows a three-phase process:
-
Red. We write a failing test (including possible compilation failures). We run the test suite to verify the failing tests.
-
Green. We write just enough production code to make the test green. We run the test suite to verify this.
-
Refactor. We remove any code smells. These may be due to duplication, hardcoded values, or improper use of language idioms (e.g., using a verbose loop instead of a built-in iterator). If we break any tests during refactoring, we prioritize getting them back to green before exiting this phase.
This is the red-green-refactor (RGR) cycle, shown in Figure 1-1. The three phases of this cycle are the essential building blocks of test-driven development. All the code we’ll develop in this book will follow this cycle.
Figure 1-1. The red-green-refactor cycle is the foundation on which test-driven development rests
Important
The three phases of the red-green-refactor ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access