Jon Reid
@qualitycoding
Author of iOS Unit Testing by Example . Technical coach, ex-Industrial Logic. Over 20 years of #TDD. Code with joy, drive down your cost of change. he/him
In TDD, you sometimes write code that looks obviously wrong on purpose — like hard-coding "0" instead of real logic. It feels uncomfortable. That discomfort is actually the point. Here's why. https://qualitycoding.org/swiftui-tdd-fake-it-till-you-make-it-part-2/
I'm building the trip preparation checklist app _I want_ for myself. Note I say "preparation checklist" not "packing list" because hey, I have more to do than pack. With completely customizable "categories" (Flying, Driving, etc.), I bet people will use it in ways I never thought of. #BuildInPublic
Swift Testing's failure messages look "funny". But that's not the real problem. The real problem is when they show up in the wrong place entirely. https://qualitycoding.org/swift-testing-custom-assertions/ #SwiftLang
Is LinkedIn website broken for anyone else? I tried disabling my ad blockers but that hasn't helped.
Does testing SwiftUI feel impossible compared to writing the feature itself? https://qualitycoding.org/swiftui-tdd-first-failing-test-part-1/
Finally! Discovered thanks to running SwiftFormat over this project. Swift 6.2 means you can write backtick test names (like Kotlin).
I'm starting a new iOS app, and feel like I already have several things to blog about. But first, a micro-blog: - I want the Swift Package to contain all non-UI code. - Incredible feedback speed compared to testing in iOS simulator! - Many think "unit tests" means each type needs a test file. Nope.
Bugs are opportunities. How can you get the most value from the next defect you fix? https://qualitycoding.org/safety-nets-guardrails/
This was me, at the top of the main AppCode page. I still hold to that quote.
Cleaning out a drawer, I found my old AppCode t-shirt. It's been 3 years since the only JetBrains IDE for Apple development was killed. It still has no substitute. AI tools can do some refactoring, but not: - provably - deterministically - locally - in a single keystroke that expresses my intention
ApprovalTests in Swift makes it easy to write powerful parameterized tests. Verify a sequence of inputs, but transform the values through the function you want. https://qualitycoding.org/parameterized-tests-approvaltests-swift/
Looking for a technical book for a friend? Or for yourself? …Maybe even my book iOS Unit Testing by Example? Now's your chance to snag a deal at pragprog.com! Check out with discount code "save50" Do it while you can, offer ends December 1
Stop pretending SwiftUI tests are impossible — ViewInspector lets you inspect views and verify behavior. https://qualitycoding.org/viewinspector-swiftui-testing/
How ViewInspector Unlocks SwiftUI Testing https://qualitycoding.org/viewinspector-swiftui-testing/
TDD isn't about writing code first — it's about thinking first https://qualitycoding.org/describe-test-plain-english/
RIP Jane Goodall. I used to read about her in the old National Geographic issues we had at our summer cabin.
Describe Your Test in Plain English https://qualitycoding.org/describe-test-plain-english/
🚨 FLASH SALE ALERT 🚨 45% OFF iOS Unit Testing by Example! Sale starts NOW (14:00 UTC) — for just 48 hours. Already have my book? Grab another! May I suggest Agile Retrospectives? Visit https://pragprog.com Promo code: flashsale
Anyone else write a lot of Xcode code snippets? I haven't seen a description of the "Availability" choices, showing "This applies here, but not there."
TDD isn't just "write a test first." It's also knowing _which_ test matters most. https://qualitycoding.org/tdd-where-do-you-even-begin/
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. https://qualitycoding.org/conversation-swift6-data-race-safety/
Xcode supports some automated refactoring — but the options are often disabled when you need them. They're buried, unpredictable, and easy to give up on. So… https://qualitycoding.org/xcode-key-bindings-refactoring/
Learn to set up CI tooling for Xcode projects using GitHub Actions. Reduce remote debugging time with local scripts and fast feedback loops. https://qualitycoding.org/github-actions-ci-xcode/