Jon Reid's Avatar

Jon Reid

@qualitycoding.org

https://qualitycoding.org Author of iOS Unit Testing by Example https://iosunittestingbyexample.com. Technical coach, ex-Industrial Logic. Over 20 years of #TDD. Code with joy, drive down your cost of change. he/him

845
Followers
194
Following
485
Posts
17.11.2024
Joined
Posts Following

Latest posts by Jon Reid @qualitycoding.org

Wow, that’s really good, Ben

09.03.2026 21:07 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Ugh, computer in the shop β€” for a week!

06.03.2026 02:46 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
GitHub - jonreid/OutputTracking: Stop mocking. Start tracking output in Swift tests. Stop mocking. Start tracking output in Swift tests. - jonreid/OutputTracking

To help others use James Shore's "Nullables" pattern language in Swift, I'm releasing
github.com/jonreid/Outp...

05.03.2026 01:59 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
ApprovalTests for Powerful Assertions in Swift: How to Get Started 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.

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. https://qualitycoding.org/approvaltests-swift-getting-started/

04.03.2026 21:28 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Icon by Kelly Latimore depicting Jesus Christ breaking an assault rifle

Icon by Kelly Latimore depicting Jesus Christ breaking an assault rifle

β€œChrist Breaks the Rifle” by kellylatimoreicons.com

01.03.2026 01:34 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

- Nullables greatly improve the design and ease of testing.
- OutputTracking is a new package I'm releasing to make it easier to adopt the Nullables pattern language in Swift.
- Prompt: "Examine all test names. Where can they be improved to express domain ideas instead of programming terminology?"

28.02.2026 23:24 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Xcode showing Swift Package. Production code: 17 types. 12 Swift Testing tests in 3 test suites, total time 0.002 seconds.

Xcode showing Swift Package. Production code: 17 types. 12 Swift Testing tests in 3 test suites, total time 0.002 seconds.

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.

28.02.2026 23:19 πŸ‘ 6 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

πŸ€·πŸΏβ€β™‚οΈThe backflips white people go through to try to justify police killing unarmed Black people for no reason while opposing ICE killing unarmed white people for no reason, is something quite amazing to observe.

Cops have killed 141 people so far this year. It's not even March yet.

26.02.2026 02:38 πŸ‘ 154 πŸ” 44 πŸ’¬ 5 πŸ“Œ 2
Preview
Why Unit Test View Controllers? For the Powerful Benefit | Quality Coding Is unit testing view controllers worth it? What about other code that interacts with system APIs? I have a powerful, but non-obvious motive.

Is unit testing view controllers worth it? What about other code that interacts with system APIs? I have a powerful, but non-obvious motive. https://qualitycoding.org/testing-view-controllers/

25.02.2026 18:38 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Developers, managers, executives: If you don’t understand what Jason is saying here, _please be curious enough to ask._

24.02.2026 19:57 πŸ‘ 4 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

What’s a β€œturn”?

21.02.2026 06:48 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

New in Print - and 40% off with code in 🧡
The Healthy Programmer - 2nd Edition.
It's a brutal time to be a developer: rising uncertainty, relentless pressure, and constant overload aren't exactly a recipe for good health.
Taking care of yourself never mattered more.
pragprog.com/titles/...

19.02.2026 22:21 πŸ‘ 2 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0
Preview
400 Christian Leaders Urge Resistance to Trump Administration on Ash Wednesday - Word&Way The statement’s signers include a mix of denominational leaders, seminary presidents, scholars, and leaders of prominent congregations.

wordandway.org/2026/02/18/4...

19.02.2026 07:48 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
How to Use SwiftLint for Clear, Idiomatic Swift | Quality Coding TDD helps me write code that is correct. SwiftLint helps me write code that is clearer. Here's how I configure SwiftLint.

Test-Driven Development helps me write code that is correct. SwiftLint helps me write code that is clear. Here's how I like to configure SwiftLint. https://qualitycoding.org/swiftlint/

18.02.2026 18:29 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Let's throw a cat among the pigeons.

Folks say the difference between software design and architecture is that architecture is design decisions that are difficult to change.

A primary goal of software design is ease of change.

Software architecture is a failure of software design?

Discuss ;-)

15.02.2026 00:08 πŸ‘ 9 πŸ” 2 πŸ’¬ 5 πŸ“Œ 1

"AI has removed the developer bottleneck"

If developers really were your bottleneck, throwing developers at a problem would actually have worked in the past 20 years

12.02.2026 12:15 πŸ‘ 35 πŸ” 22 πŸ’¬ 1 πŸ“Œ 0

One point I make is that Agile Software Development's reputation is built almost entirely on the experiences of teams who've never even seen software agility.

See also: TDD, refactoring, design principles, continuous integration etc.

11.02.2026 11:25 πŸ‘ 11 πŸ” 2 πŸ’¬ 3 πŸ“Œ 0
Preview
Like Magic: How to Wrangle Legacy Code with Combination Approvals 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.

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. https://qualitycoding.org/wrangle-legacy-code-combination-approvals/

11.02.2026 18:11 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

A large-scale study of developer IDE activity found that only 8% of devs who claimed they did Test-Driven Development did anything even close in reality.

Were 92% lying? I suspect not.

More likely, they just didn't know they weren't doing it, because they didn't know what TDD actually looks like.

09.02.2026 11:39 πŸ‘ 14 πŸ” 5 πŸ’¬ 4 πŸ“Œ 1

Also laughing at all the B-roll footage of San Francisco. Great footage, wrong city.

09.02.2026 01:42 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Superbowl report at halftime point:
- Winner: Bad Bunny, with a fun show
- Loser: AI-generated ads

09.02.2026 01:37 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Rich does not mean clever, apparently

09.02.2026 00:05 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Video thumbnail

Highlighting the speaker who stood in front of the Surprise mayor and told him to consider what the Mayor of Ohrdruf must’ve thought before he died by suicide: β€œHe might have thought β€˜how is this my fault I had no jurisdiction over this’ maybe he said β€˜this site was not subject to local zoning.’”

04.02.2026 06:43 πŸ‘ 8773 πŸ” 3826 πŸ’¬ 166 πŸ“Œ 790

Andrea Bocelli holy moly! #olympics

07.02.2026 06:25 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Unlock Proven Steps of Refactoring to MVVM in Swift (Part 2) What does refactoring actually look like? Let’s continue an example based on a real iOS view controller. 23-minute screencast.

What does refactoring actually look like? Let's continue an example based on a real iOS view controller. Watch this 23-minute screencast. https://qualitycoding.org/refactoring-mvvm-part2/

04.02.2026 22:09 πŸ‘ 1 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

Canceling tomorrow's live stream.
"Swift + AI" will return on March 15.

01.02.2026 02:23 πŸ‘ 3 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0

Darn. I caught a cold …from going into the office.
Tomorrow's live-coding may or may not happen. Let's see how I feel (and sound).

31.01.2026 17:47 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

πŸ₯Ά ❄️ β˜ƒοΈ It has been COLD in the US this week. Saturday, Brimson Minnesota was -43˚F (-42˚C)

So, until the end of the week, pretty much everything is -43% at the Bookshelf.
Just use coupon code Brrr when you check out.
Stay Warm. Only at pragprog.com
Β­

30.01.2026 17:11 πŸ‘ 11 πŸ” 7 πŸ’¬ 0 πŸ“Œ 1

You could have played this for me blind, and I would have asked, β€œIs that Holdsworth?” because his sound was so unique.

29.01.2026 00:39 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I’m not an electric guitar player, but this guy, wow… I was listening to the Bruford debut album recently.

29.01.2026 00:36 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0