Interop between XCTest and Swift Testing? In the economy? It's more likely than you think.

Legitimately, I'm really excited for this. This'll enable much more consistent set of tooling that can easily be used in Swift Testing and in XCTest. It'll also make migrating from XCTest to Swift Testing much more simpler and much safer.

Go leave feedback at https://forums.swift.org/t/st-0021-targeted-interoperability-between-swift-testing-and-xctest/84965

#SwiftLang #XCTest #SwiftTesting #UnitTesting

ST-0021: Targeted Interoperability between Swift Testing and XCTest

Hello Swift Community! The review of ST-0021 "Targeted Interoperability between Swift Testing and XCTest" starts now and runs through Tuesday, March 10th, 2026. The proposal is available here: swift-evolution/proposals/testing/0021-targeted-interoperability-swift-testing-and-xctest.md at main · swiftlang/swift-evolution · GitHub Reviews are an important part of the Swift evolution process. All review feedback should be either on this forum thread or, if you would like to keep your feedback pri...

Swift Forums

SwiftTesting is becoming the de-facto standard framework for testing across Apple's ecosystem. Here's how to integrate it into your agentic coding workflows for high-quality test generation.

🔗: https://www.avanderlee.com/ai-development/swift-testing-agent-skill-write-high-quality-tests-with-ai/ by Antoine van der Lee (@swiftlee)

#SwiftTesting #AI #Swift

Swift Testing Agent Skill: Write high quality tests with AI

Explore how the Swift Testing Agent Skill enhances your development process, integrating best practices for effective testing.

SwiftLee

Testing various permutations. I'm so glad I built the app in a way that this stuff doesn't need loading the GUI. I just have to go and look at all the outputted PDFs to sanity check them.

#testing #SwiftTesting #BuildInPublic

#iosdev #buildInPublic #coredata #swiftTesting

Swift Testing error messages can be annoyingly obscure - “cannot convert value of type 'nonisolated(nonsending) @Sendable (String, String) async throws -> Void' to expected argument type '@Sendable (String.Element, String.Element) async throws -> Void' (aka '@Sendable (Character, Character) async throws -> ()”

in other words: I forgot my testing macro arguments “abc”,”def" need to be arrays [“abc”],[”def”].

31/n

#iosdev #buildInPublic #coredata #swiftTesting #irishmusic

Just a little done these last couple days. Put together (and pushed) a few more unit tests for core data testing. Concentrating on the ordered many:many since that's what I need to test.
30/n

My solution uses a combination of macOS accessibility APIs and CGEvents directly (not keyDown), the former of which understands the whereabouts of the simulator, the latter for how to find the center of the viewport, set up a two-finger gesture by spawning at the center, option-dragging to a specified input distance, option-shift-dragging to a specified coordinate, then performing one or more gestures therein.

There has to be a better way!?

#RandomForms #swiftui #SwiftTesting #macos

#iosdev #buildInPublic #coredata #swiftTesting

Random thoughts for future development:
Object identity is not straightforward.

If I change a collection name on device A, the change should propagate to device B.
Should two collections with the same name on different devices but with different members be merged? I think the principle of least surprise would argue that they should.

OTOH, two tunes with the same name but different melodies should be distinct (common in #irishmusic)

29/n

#iosdev #buildInPublic #coredata #swiftTesting

Not much time to do stuff over the last little while - refactored the unit tests to parameterize them and added some helper functions, added a runtime flag to choose a real file for the SQLite backing store vs. /dev/null
Changes are in GitHub if anybody is interested https://github.com/Wil-Macaulay/attributedRelationships

28/n

GitHub - Wil-Macaulay/attributedRelationships: Demo code for Core Data/Cloudkit

Demo code for Core Data/Cloudkit . Contribute to Wil-Macaulay/attributedRelationships development by creating an account on GitHub.

GitHub

#iosdev #buildInPublic #coredata #swiftTesting

Will be exploring Apple’s cktool for #cloudkit setup, which hopefully will let me populate data that will let me test sync

https://developer.apple.com/icloud/ck-tool/

27/n

cktool - iCloud - Apple Developer

Find details on using cktool.

Apple Developer

#iosdev #buildInPublic #coredata #uikit #swiftTesting

This is going to be super important when I change the underlying data model. Maybe I should add a little facade over the CoreData so I can preserve the API and leave the unit tests unchanged? That’s the ideal when refactoring, run the exact same suite of tests and have them succeed.

Still not sure on my approach for testing when synchronization across multiple devices…

26/n