My mocks couldn't fail: error injection and a Swift 6 isolation crash
Every catch branch was dead code in tests. A 15-line failure seam fixed that, and then one unannotated test suite took down the whole runner.
Every catch branch was dead code in tests. A 15-line failure seam fixed that, and then one unannotated test suite took down the whole runner.
Five ~700-line slices, briefs that ask what's well done too, and the verification step that separated real bugs from plausible ones.
Adopting a linter on code that never had one, a framework-free pre-commit hook, and three things the macOS runner did that the docs didn't mention.
The purchase API is the easy part. The seams between StoreKit 2, Swift 6 isolation, and SwiftUI observation are where the time went.
An inline mini-player when MusicKit playback is silent in the simulator: a two-method protocol, an honest lie of an indicator, and a bug left in on purpose.
Five tests reporting a bare "Crash": a tidy helper let the ModelContainer deallocate while the store kept its context. A context is a borrowed thing.
The region-based isolation checker tells me to file a bug, and the unfashionable unstructured Task turns out to be the correct tool.
Building the add-to-library flow and learning that MusicKit's library and catalog copies of one album are unrelated objects, as far as their IDs go.
Building an album-grouped playlist screen for a MusicKit app before real data existed: EP detection, mock services, and a test that caught a stale fixture.
A protocol, a real service, and a mock that records its writes: making the simulator useful again, plus the worktree mishap and the newborn-target trap.
Page 4 of 5