Embedding a tiny HTTP server inside our test suite opens up a world of opportunity.
Waiting is hard, and waiting in Xcode is no exception. Learn a new approach with classes introduced in Xcode.
Learn how to stub network data when running UI Tests with the magic of some “secret” XCTest APIs.
Answers to common “How do I test this with UI Testing?” questions. A quick reference for everything from tapping buttons to reordering table cells.
Generic querying syntax, first-class support, and native asynchronous assertions make for a great TDD experience on iOS.
How to navigate around an lightly documented but powerful framework in Xcode 12.
Ideas and best practices for real world Swift testing, including protocols, dependency injection, and Equatable.
Learn how to test UIAlertController with protocols, mocks, and dependency injection. No swizzling required.
A type-safe approach to testing dictionaries in Swift with clean failure messages.
Shave time off your test suite by flattening asynchronous tests. Learn how to mock more of URLSession to test response data, network errors, and status codes.
Not owning a class doesn't mean you can't mock it! Learn how to unit test URLSession with Swift and protocol-oriented programming.
A step-by-step journey on how I refactored an app to handle any number of sheets with ObservableObject and an enum.
Visual guide to laying out multiple views that look great on all screen sizes with Interface Builder.
Build and manipulate complex URLs with NSURLQueryItems. No more ugly string concatenation to append query items to URLs.
Yesterday I was the #5 product of the day on Product Hunt. Here's what I learned.
A month ago I ran into a problem. One week later I solved it. And three weeks after that I turned it into a (tiny) business.
It’s been a busy month! I’ve gone all in on Tailwind CSS, launched a new product, and started building a newsletter. Here’s what’s been keeping me busy.
Apple has officially sent me a cease and desist letter to take down my host of the XCTest Documentation.
Earlier this month week I spoke on the SwiftCoders podcast. The host and I talked about getting started in Swift, and, obviously, testing.
All the stuff I'm enjoying right now: iOS apps and games, Mac productivity apps, card games, and programming books.
Last week I spoke on the Concepts in Code podcast. The cohosts and I chatted about testing in Swift, TDD, and pair programming.
1249 records in prod. 3775 records in dev. Something's not right.
Use familiar HTML testing tools to test drive PDF generation by combining wicked_pdf with some asset pipeline knowledge.
How I built a landing page and redesigned my blog in Tailwind CSS over the weekend. And why I’ll never go back.
How our small team supports 600k+ monthly users on four platforms with Turbolinks.
Better dependency injection on iOS with NS_UNAVAILABLE.
Two different approaches to testing tables in iOS with behavior-driven testing framework, Cedar.
BGA, TTS, Steam?! This guide is for anyone who wants to play board games online with your friends but isn’t sure where to start.