Book description
Build robust applications using TDD with Swift 5.5 and become a TDD expert by writing tests for view controller, views, network code, and even SwiftUI view
Key Features
- Build a complete iOS app using test-driven development
- Explore testing view controllers, table views, navigation, and network code
- Learn how to write tests for Combine and SwiftUI code
Book Description
Test-driven development (TDD) is a proven way to find software bugs earlier on in software development. Writing tests before you code improves the structure and maintainability of your apps, and so using TDD in combination with Swift 5.5's improved syntax leaves you with no excuse for writing bad code.
Developers working with iOS will be able to put their knowledge to work with this practical guide to TDD in iOS. This book will help you grasp the fundamentals and show you how to run TDD with Xcode. You'll learn how to test network code, navigate between different parts of the app, run asynchronous tests, and much more. Using practical, real-world examples, you'll begin with an overview of the TDD workflow and get to grips with unit testing concepts and code cycles. You'll then develop an entire iOS app using TDD while exploring different strategies for writing tests for models, view controllers, and networking code. Additionally, you'll explore how to test the user interface and business logic of iOS apps and even write tests for the network layer of the sample app.
By the end of this TDD book, you'll be able to implement TDD methodologies comfortably in your day-to-day development for building scalable and robust applications.
What you will learn
- Implement TDD in Swift application development
- Detect bugs before you run code using the TDD approach
- Use TDD to build models, view controllers, and views
- Test network code with asynchronous tests and stubs
- Write code that's a joy to read and maintain
- Design functional tests to suit your software requirements
- Discover scenarios where TDD should be applied and avoided
Who this book is for
This book is for iOS developers looking to apply TDD to build maintainable and scalable applications. Intermediate-level developers with Swift application development experience will be able to make the most out of this book. Prior experience of applying TDD to Swift applications is not required.
Table of contents
- Fourth Edition
- Test-Driven iOS Development with Swift
- Fourth Edition
- Contributors
- About the author
- About the reviewers
- Preface
- Section 1 –The Basics of Test-Driven iOS Development
- Chapter 1: Your First Unit Tests
- Chapter 2: Understanding Test-Driven Development
- Chapter 3: Test-Driven Development in Xcode
- Section 2 –The Data Model
- Chapter 4: The App We Are Going to Build
- Chapter 5: Building a Structure for ToDo Items
- Chapter 6: Testing, Loading, and Saving Data
- Section 3 –Views and View Controllers
- Chapter 7: Building a Table View Controller for the To-Do Items
- Chapter 8: Building a Simple Detail View
- Chapter 9: Test-Driven Input View in SwiftUI
- Section 4 –Networking and Navigation
- Chapter 10: Testing Networking Code
- Chapter 11: Easy Navigation with Coordinators
- Other Books You May Enjoy
Product information
- Title: Test-Driven iOS Development with Swift - Fourth Edition
- Author(s):
- Release date: April 2022
- Publisher(s): Packt Publishing
- ISBN: 9781803232485
You might also like
book
iOS 14 Programming Fundamentals with Swift
Move into iOS development by getting a firm grasp of its fundamentals, including the Xcode 12 …
book
iOS Swift Game Development Cookbook, 3rd Edition
Ready to make amazing games for the iPhone and iPad? With Apple’s Swift programming language, it’s …
video
Practical Test-Driven Development with Xcode and Swift: Write Modularized Code for TDD with XCTest and UIKit
Write better, more robust, and well-architected code. Then put tests on CI with every run, so …
book
Test-Driven Development in Swift: Compile Better Code with XCTest and TDD
Leverage Swift to practice effective and efficient test-driven development (TDD) methodology. Software testing and TDD are …