Leverage Swift to practice effective and efficient Test-Driven Development (TDD). Software testing
and TDD are evergreen programming concepts--yet Swift developers haven't widely adopted them.
What's needed is a clear roadmap to learn and adopt TDD in the Swift world. Apple has invested
heavily in the Swift Testing library and Xcode's testing infrastructure, making testing a first-class
priority in their ecosystem. The tools are there. This book will show you how to wield them.
TDD has much more to offer than catching bugs. With this book, you'll learn a philosophy for building
software. TDD helps you solve problems incrementally, writing only as much code as necessary. By
decomposing big problems into small steps, you can move along at a fast pace, always making visible
progress.
Embark on the Test-Driven Development journey by building a real iOS application and picking up
new techniques in each chapter. The book's concepts will emerge as you figure out ways to use
tests to drive the solutions to the problems of each chapter. You'll be introduced to all the staples
and advanced concepts of the craft, understand the trade-offs each technique offers, and review an
iterative process of software development.
In this fully revised edition, all code is updated to use Apple's new Swift Testing framework, with
networking rewritten using structured concurrency and UI refreshed to match the latest SwiftUI APIs
and iOS 26 design, making it the ideal resource for developers embracing the latest computing and
development tools.
Test-Driven Development in Swift gives you the blueprint for a highly efficient way to make amazing
apps.
What You Will Learn:
- Write tests that are easy to maintain
- Manage and scale an ever-growing test suite
- Build a testing vocabulary that transfers beyond Swift
- See how Swift's type system enhances the TDD flow of dynamic languages
- Discover how compiler errors can provide the same helpful guidance as failing tests
Who This Book Is For
Mid-level developers keen to write higher quality code and improve their workflows. Also, developers that have already been writing tests but feel they are not getting the most out of them.
About the Author :
Gio Lodi spent the past decade writing tests. He began with full-stack web development before moving into iOS programming and, more recently, into mobile infrastructure engineering. Ruby on Rails introduced him to the TDD world, and he fell in love with the fast-paced feedback loop. Any big problem could be decomposed in smaller and smaller parts until it got to an achievable size. Due to the lack of tools he first encountered moving into the Apple ecosystem, Gio researched and experimented with testing strategies and tools document in an ongoing project that catalogued on his blog and in talks and workshops at various industry conferences.