An example of TDD
For this TDD example, we are going to use the same project we created in Chapter 1, Your First Unit Tests. Open the FirstDemo project in Xcode, and run the tests by hitting ⌘U. The test we wrote to explore the custom assert function is failing. We don't need this test anymore. Delete it.
Let's say we are building an app for a blogging platform. When writing a new post, the user puts in a headline for the post. All the words in the headline should start with an uppercase letter.
To start the TDD workflow, we need a failing test. The following questions need to be considered when writing the test:
- Precondition: What is the state of the system before we invoke the method?
- Invocation: How should the signature of the method look? What are the input parameters (if any) of the method?
- Assertion: What is the expected result of the method invocation?
For our blogging app example, here are some possible answers to these questions...