Skip to 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
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.

Watch now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Intermediate Swift: iOS App Development with UIKit

Intermediate Swift: iOS App Development with UIKit

Lucas Derraugh

Publisher Resources

ISBN: 9781484266670