Search icon
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Test-Driven iOS Development with Swift  - Fourth Edition

You're reading from  Test-Driven iOS Development with Swift - Fourth Edition

Product type Book
Published in Apr 2022
Publisher Packt
ISBN-13 9781803232485
Pages 280 pages
Edition 4th Edition
Languages
Author (1):
Dr. Dominik Hauser Dr. Dominik Hauser
Profile icon Dr. Dominik Hauser

Table of Contents (17) Chapters

Preface 1. Section 1 –The Basics of Test-Driven iOS Development
2. Chapter 1: Your First Unit Tests 3. Chapter 2: Understanding Test-Driven Development 4. Chapter 3: Test-Driven Development in Xcode 5. Section 2 –The Data Model
6. Chapter 4: The App We Are Going to Build 7. Chapter 5: Building a Structure for ToDo Items 8. Chapter 6: Testing, Loading, and Saving Data 9. Section 3 –Views and View Controllers
10. Chapter 7: Building a Table View Controller for the To-Do Items 11. Chapter 8: Building a Simple Detail View 12. Chapter 9: Test-Driven Input View in SwiftUI 13. Section 4 –Networking and Navigation
14. Chapter 10: Testing Networking Code 15. Chapter 11: Easy Navigation with Coordinators 16. Other Books You May Enjoy

Testing button actions with ViewInspector

The user puts in the address for the to-do item. In the details view of an item, the app shows a map of that location. This means we need to convert the address of the item to a coordinate before we can add the item to the list. Apple provides a GeoCoder class for that task. We will write tests for fetching an address from a GeoCoder class in Chapter 10, Testing Networking Code.

In this chapter, we assume that we already have a class called APIClient that uses GeoCoder (or some similar service) to translate an address into a coordinate. In the test, we are going to use a mock object for that APIClient class. Follow these steps to add a protocol for the APIClient class and a mock conforming to that protocol:

  1. Select the ToDo group in the project navigator and add a new Swift file with the name APIClient.swift.
  2. Add the following protocol definition to that new file:
    // APIClient.swift
    protocol APIClientProtocol {
      func...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €14.99/month. Cancel anytime}