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

Checking the to-do item

When the user of the app taps the Done button, our app has to tell the to-do item store to change the item's status to Done. Follow these steps to implement that feature:

  1. Add the following test method to ToDoItemDetailsViewControllerTests:
    // ToDoItemDetailsViewControllerTest.swift
    func test_sendingButtonAction_shouldCheckItem() {
      let toDoItem = ToDoItem(title: "dummy title")
      sut.toDoItem = toDoItem
      let storeMock = ToDoItemStoreProtocolMock()
      sut.toDoItemStore = storeMock
    }

ToDoItemDetailsViewController doesn't have a property for toDoItemStore. This means we have to pause writing this test and add this property first.

  1. Go to ToDoItemDetailsViewController and add the toDoItemStore property:
    // ToDoItemDetailsViewController.swift
    var toDoItemStore: ToDoItemStoreProtocol?
  2. Now we can finish the test:
    // ToDoItemDetailsViewControllerTests.swift
    func test_sendingButtonAction_shouldCheckItem...
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 $15.99/month. Cancel anytime}