In the course of this book, we have mainly written unit tests. As the name suggests, unit tests test small units in isolation. The advantage of using unit tests for TDD is the immediate feedback that is received in the TDD workflow. We wrote a test, ran it, and immediately got a feedback about the status of our code.
We used mocks, stubs, and fakes to separate the units from the rest of the code. This allowed us to focus the tests on one microfeature at a time.
Using TDD, we build a model, view controller, and the network layer of our app. Next, we put all the parts together to form a real iOS app. We have seen how to use UI tests to implement functional testing that focuses on individual features rather than units.
Finally, we also used fastlane to automate the deployment process.
But, as you might have guessed, there is more. This book is, at best...