Essential Developer
  • Home
  • About us
  • iOS Lead Essentials•
  • Articles
  • Gain FREE access to exclusive iOS dev courses, workshops, and mentoring sessions How to Build iOS Apps with Swift, TDD & Clean Architecture How to Boost Your iOS Dev Income Book Suggestions
  • Contact
Essential Developer
  • Home/
  • About us/
  • iOS Lead Essentials•/
  • Articles/
  • Free Resources/
    • Gain FREE access to exclusive iOS dev courses, workshops, and mentoring sessions
    • How to Build iOS Apps with Swift, TDD & Clean Architecture
    • How to Boost Your iOS Dev Income
    • Book Suggestions
  • Contact/
Essential Developer

Become a complete senior iOS developer

Articles

Skilled, disciplined and professional iOS software development resources tailored for you

Essential Developer
  • Home/
  • About us/
  • iOS Lead Essentials•/
  • Articles/
  • Free Resources/
    • Gain FREE access to exclusive iOS dev courses, workshops, and mentoring sessions
    • How to Build iOS Apps with Swift, TDD & Clean Architecture
    • How to Boost Your iOS Dev Income
    • Book Suggestions
  • Contact/
July 16, 2020

iOS Testing Challenges: StoreKit, Firebase, UIKit, UserDefaults | iOS Lead Essentials Podcast #024

July 16, 2020/ Caio & Mike

Watch on YouTube | Podcast

If you've been following us for a while, you know we recommend you test your code.

In fact, we highly recommend you practice Test-Driven Development and write the tests first.

And if you've been taking our advice, you probably faced a bunch of code that's hard to test.

Maybe because you're dealing with legacy code that was built with no testability in mind.

Or you're dealing with some 3rd-party frameworks or infrastructure that's unreliable, like databases and backend APIs.

You may also feel stuck wondering if you've tested your code enough or even if you've tested your code too much.

In this podcast, we present practical solutions to 12 common challenges you'll face when writing a test suite for your iOS/Swift apps. Including:

- "How to test random values without mocking the random algorithm?"

- "How to test code that asynchronously dispatches work to the main DispatchQueue?"

- "How can I test code that depends on the current Date and Time?"

- "How to test if a UITextField is focused? I can't check that it becomes the first responder in unit tests - isFirstResponder always returns false"

- "How to test parts of the app that uses Firebase?"

- "How to test StoreKit?"

- "How to test Sign in with Apple?"

- "How to test a UIImageView of a UITableViewCell that fetches an image from a URL using SDWebImage?"

- "I have an AlertControl class to present alerts in my app. How to test that the AlertControl shared instance displays the alert on certain UI events?"

- "How to test that a component is storing values in UserDefaults correctly?"

We highly recommend you watch or listen to this podcast. You'll learn fast and reliable ways to validate code that's hard to test and deliver better apps with confidence.

Subscribe now to our Youtube channel and Podcast to catch new episodes.

Notes

  • Testing code that uses DispatchQueue.main.async
  • Testing Date Span in Swift: Controlling the current date & time
  • iOS Dev Mentoring #008: Test-driven MVVM with RxSwift
  • 3 Steps to Prepare Your Apps for SwiftUI, Combine, iPadOS, Project Catalyst, and Any Other Leaps in the iOS Industry
  • How to Build iOS Apps with Swift, TDD & Clean Architecture YouTube series
  • Join us in the Essential Developer Academy
July 16, 2020/ Caio & Mike/
Podcasts
testing strategies, automated testing, tdd, dependency inversion, userdefaults, uikit, firebase, storekit, sign in with apple, dispatchqueue, date span, singleton

Caio & Mike

  • Should you quit a new iOS gig ...
  • WWDC 2020 Q&A: App Clips, ...
Articles RSS
Featured
How to avoid burnout & get a Senior iOS Dev job in a great team | iOS Lead Essentials Podcast #062
How to avoid burnout & get a Senior iOS Dev job in a great team | iOS Lead Essentials Podcast #062
How to write fast and reliable Acceptance Tests with SwiftUI and UIKit | iOS Dev Mentoring
How to write fast and reliable Acceptance Tests with SwiftUI and UIKit | iOS Dev Mentoring
Fixing iOS 17+ breaking changes: UIRefreshControl, viewIsAppearing & testability | iOS Dev Mentoring
Fixing iOS 17+ breaking changes: UIRefreshControl, viewIsAppearing & testability | iOS Dev Mentoring
  • Home/
  • About us/
  • iOS Lead Essentials•/
  • Articles/
  • Free Resources/
    • Gain FREE access to exclusive iOS dev courses, workshops, and mentoring sessions
    • How to Build iOS Apps with Swift, TDD & Clean Architecture
    • How to Boost Your iOS Dev Income
    • Book Suggestions
  • Contact/

Essential Developer

First-class iOS engineering with Empathy, Integrity, and Economics in mind. Skilled and disciplined training for iOS professionals and teams.


b3.png
Gain FREE access to exclusive iOS dev courses, workshops, and mentoring sessions.
JOIN NOW (FREE)

Articles RSS
 

Caio Zullo

I've been writing software since 1998, professionally since 2006, and on Apple platforms since 2009. I love building robust, well-engineered, and beautiful applications and coaching developers to achieve their best potential.

Mike Apostolakis

I'm a software engineer from Athens, Greece. My goal is to help the software industry evolve by enabling developers and companies to practice valuable techniques and build powerful and durable systems.

 

 
 
 

© Essential Developer. All rights reserved.

Privacy Policy