What if there were a way to get feedback on your code every time you compiled? Find problems in code more quickly by taking your Xcode warnings to the max.| Quality Coding
From the author of iOS Unit Testing by Example… These are all the posts so far in the series. Subscribe to this new series to get articles as they come!| Quality Coding
When refactoring in small steps, sometimes you have to make a mess to clear up a mess. Download the code and walk through these refactoring steps.| Quality Coding
Learn how to start your first SwiftUI test with TDD — not by coding right away, but by outlining the test in plain English. A practical way to plan your test.| Quality Coding
When you're starting TDD, the hardest part is knowing where to begin. What should the first test be? What even counts as a “first step”?| Quality Coding
Speed up your Swift development with custom Xcode key bindings for automated refactoring. Learn which shortcuts I use, why they matter, and how to stay in flow.| Quality Coding
What is the state of test-driven development (TDD) for iOS? What about behavioral-driven development (BDD), or domain-driven Development (DDD)? How might the new Swift Testing framework affect TDD? And what advice do I have for iOS developers who want to try TDD? Walid Sassi invited me to join him on the Swift Academy Podcast. Besides being […]| Quality Coding
Did you know that Xcode behaviors can help change your behaviors as a developer? Xcode lets us adjust its behavior on certain actions. I like to keep my development workflow centered on running tests. What’s a good setup for a test-centric workflow? Here are the settings I use to keep tests at the forefront of my […]| Quality Coding
What should you test in SwiftUI — and what should you validate through other means? This guide breaks down the key principles of unit testing SwiftUI.| Quality Coding
SwiftUI unit testing: Why it matters, how it compares to UI testing, and how it enables faster feedback and safer refactoring. Learn more inside.| Quality Coding
How to verify objects with ApprovalTests. See how to evolve an assertion gradually, which makes it easier to do test-driven development (TDD).| Quality Coding
ApprovalTests is a new testing tool for Swift, providing an alternative to assertions. Watch this 5-minute demo to learn the basics of getting started.| Quality Coding
How do we automate tests for SwiftUI? Should we even bother? And does test-driven development (TDD) apply to SwiftUI? [This post is part of the TDD with SwiftUI series.] Table of Contents SwiftUI Testing: The ChallengeCounter DemoCounter Source CodeHow Would You Test This?Don’t miss a single post in this exciting series. SwiftUI Testing: The ChallengeIn my […]| Quality Coding
Struggling with a thousand-line view controller with minimal tests? Learn the legacy code rescue techniques I used on an iOS app.| Quality Coding
Discover how Swift 6's @MainActor isolation impacts XCTest, with tips on handling concurrency warnings for view controller testing.| Quality Coding
See how my code changes as I pair program with Swift 6. Join us for a fun conversation about working with strict concurrency for data race safety.| Quality Coding
Learn how to overcome Xcode's slow test feedback and enhance your TDD workflow. Follow our steps to achieve faster test feedback, dropping from 47s to 1.6s.| Quality Coding
Do you use Xcode's "Unit Test Case Class" for new files? It's full of noise and waste. Go lean and save time by using my template instead.| Quality Coding
A feature of ApprovalTests called “combination approvals” can help you bring legacy code under test. Write tens or hundreds of test cases in a few lines.| Quality Coding
ApprovalTests.Swift makes it easy to write powerful parameterized tests. Verify a sequence of inputs, but transform the values through the function you want.| Quality Coding