How to Unit Test Scene Delegates when Swift Won’t Let You
Oct 12, 2021, 7:45 AM
What can we do when Swift refuses to create an object we need for testing? René Pirringer has a solution for us which he found while unit testing scene delegates. —Jon Table of Contents Scene Delegates: When Swift Gets in the WayIf Swift...
WWDC21: What’s New in Unit Testing for Xcode 12.5
Jul 6, 2021, 7:45 AM
What’s new for unit testing from WWDC21? Xcode 13 promises async, but many of us can’t use that for a couple of years. Instead, I want to look at new unit testing features we can use right away in Xcode 12.5. (Watch the 10-minute...
Watch Me Refactor to the Null Object Pattern Using Small, Verified Steps
Apr 27, 2021, 7:45 AM
The Design Patterns book came out over 25 years ago. Are patterns still relevant today, especially for Swift developers?At Quality Coding we train iOS developers in technical agile practices—such as refactoring. Recently I refactored...
Exploring Test-Driven iOS Development with Jon Reid
Mar 23, 2021, 7:45 AM
Where does test-driven development (TDD) sit in the iOS ecosystem? Here’s a podcast about how I depend on TDD to develop software, and the backstory for why I do.Darko Fabijan, co-founder of Semaphore, invited me onto his podcast Semaphore...
Code Katas in Swift: How to Level Up Your Technical Agility
Feb 23, 2021, 7:45 AM
How can you learn and practice test-driven development (TDD), or refactoring, or working with legacy code? I can explain the principles. But the question that comes back is, “But what do I actually do?” That’s what code katas are for....
This Swift XCTestCase Template Is Streamlined to Help Your Flow
Feb 9, 2021, 7:45 AM
Say you have a project named SampleProject. And you want to create a new unit test suite. So you Command-N to make a new file, and select “Unit Test Case Class.”If we give it the name AppleTests, here’s what Apple provides:// //...
Watch Proven Steps of Refactoring to MVVM in Swift, Part 2
Jan 5, 2021, 7:45 AM
What does refactoring actually look like? Let’s continue an example based on a real iOS view controller. I gave a talk for CocoaHeads NL called “Real Refactoring” where I demonstrated refactoring a view controller from MVC...
Watch Me Refactor to MVVM in Easy, Proven Steps without Thinking
Dec 1, 2020, 7:45 AM
What is refactoring? Like most of the technical agile practices, seeing the final code doesn’t help. That’s because refactoring is a process; it’s hard to grasp until you see someone do it. So I gave this 27-minute talk showing what...
The Great MVC Hoax (iOS Architecture part 1)
Nov 21, 2020, 5:52 PM
Whoops! This is an old draft from years ago. I accidentally published it. I’ll pull it down soon. Before I write my first test for the TDD sample app, I want to consider the application architecture. You may say, “Isn’t...
How to Unit Test Enumerations in Swift
Nov 10, 2020, 7:45 AM
You have an enumeration. How can you write an XCTest assertion to verify it? What about associated values? And how do we avoid overspecified tests? Two core features of the Swift programming language are:Optional values, which may or...
Thumbs Up for “Quick Glance At: Agile Engineering Practices”
Oct 20, 2020, 7:45 AM
I've talked about the importance of technical agile practices. But how do you learn what those things are? Hi, I’m Jon Reid with QualityCoding.org where I focus on training for iOS teams. And if you saw my Quality Coding Manifesto—oh,...
How to Unit Test Optionals in Swift
Sep 29, 2020, 7:45 AM
You have an optional value. How can you write an XCTest assertion to verify it, while getting the most from any assertion failure? Two core features of the Swift programming language are:Optional values, which may or may not be...
Cheap Home Ergonomics: How to Avoid Injuring Yourself
Jul 28, 2020, 7:45 AM
You have a job where you work all day on a computer. And now, during this global pandemic, you've suddenly been working from home. How can you set up an inexpensive ergonomic solution so you don't injure yourself? Normally, Quality...
WWDC20: What’s New in Unit Testing
Jul 7, 2020, 7:45 AM
WWDC20 has wrapped up. What’s new this year for unit testing? Let’s look at the changes Apple has made for the Xcode 12 beta, and also some changes in the current version of Xcode. Hello, I’m Jon Reid from QualityCoding.org. Every...
Unit Test Naming: The 3 Most Important Parts
Apr 21, 2020, 11:38 PM
You run your unit tests, and get a failure. How many times have you had to dig through the test code to try to understand what it’s complaining about? Why does this matter? Because every time you have to read test code, you lose...
How Remote Ensemble (Mob) Programming Is Working for Me
Mar 24, 2020, 7:45 AM
Ever since I experienced ensemble programming (also known as mob programming), it became my primary teaching tool. But due to COVID-19, it’s suddenly time for me to support remote workshops. Can ensemble programming work remotely? To...
3 Easy Steps for Designing iOS Unit Tests
Dec 17, 2019, 7:45 AM
(While I’m busy finishing my book, here’s a guest post from Ellie Coverdale. Take it away, Ellie… —Jon) Unit testing is an important part of establishing the correct functionality of the individual units of a single software...
Learning Kotlin Showed Me the Truth About Xcode
Nov 12, 2019, 7:45 AM
In my first-ever live stream, I used a TDD exercise to learn the basics of Kotlin. In this recording, you can watch as I let the IDE guide me, stumble through mistakes, and get help from viewers. You’ll get to see how much better a...
Kotlin! Got Any Interesting Language/Testing Tips for Me?
Oct 29, 2019, 7:45 AM
This week, I’m learning Kotlin. And what better way to learn a new language than by writing unit tests against the code? What’s going on, you ask? Is the world coming to an end? Jon Reid is learning Kotlin. Is this the...
Advanced TDD Workshop for iOS Developers — On Sale Now
Oct 22, 2019, 7:45 AM
Have you done a few TDD exercises, but wonder how to bring it to your actual production code? Are you doing TDD in production code, but only for the simplest business rules? Did you TDD something only to feel it went poorly, and left your...
How to Localize a Mobile App for International Markets
Oct 3, 2019, 3:59 AM
(While I’m busy writing my book, here’s a guest post on a topic close to me. I grew up in Japan as an American citizen, so I know how tricky it can be to cross cultures. Elisa Abbott gives us an overview of how localization is...
Don’t Give Up on TDD Before Reaching Your Breakthrough
Jan 22, 2019, 7:45 AM
Dan Abramov recently tweeted: TDD paralyzes me. I’m all for writing tests early in the process — especially in library code. But I can’t write them before I *play*. I need to write a shitty draft and play with the behavior to understand...