Skip to Main Content
Practical Test-Driven Development with Xcode and Swift: Write Modularized Code for TDD with XCTest and UIKit
on-demand course

Practical Test-Driven Development with Xcode and Swift: Write Modularized Code for TDD with XCTest and UIKit

with Alex Tamoykin
November 2020
Intermediate content levelIntermediate
50m
English
Apress
Closed Captioning available in English

Overview

Write better, more robust, and well-architected code. Then put tests on CI with every run, so you have real proof that your app works as expected. Running tests over and over again costs you very little whereas running manual tests costs time again and again. 100% test coverage is not practical. A more effective approach is to write well-modularized code which is easy to test in isolation with unit tests and then do several integration tests testing the entire flow of your app to make sure all modules work together.

Use XCTest, which Apple provides out of the box with XCode, to test all networking and model layers and plan classes. This is your opportunity to test against several different edge cases since it’s easy to simulate different conditions. Unit testing your controllers is complicated because controllers rely on the UIKit controller life cycle that's not available in the test environment. Therefore, it’s easier to use UI Testing (also provided by Apple with XCode) to write integration tests. Write a few of them covering your happy paths. 

Adding your tests on CI and running them automatically on every commit to your mainline branch will help you avoid timely manual tests or a failing app. Your tests will always be up to date and work for you instead of getting in the way.

What You Will Learn

  • Do test-driven development with Xcode
  • Write robust tests covering just the use cases you need
  • Use automated testing to avoid wasting time

Who This Video Is For

Software developers and team leads working with Swift on iOS applications in an Apple environment.

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Modularizing Legacy Projects Using TDD: Test-Driven Development with XCTest for iOS

Modularizing Legacy Projects Using TDD: Test-Driven Development with XCTest for iOS

Khaled El-Morabea, Hassaan El-Garem

Publisher Resources

ISBN: 9781484266670Supplemental Content