prisma-labs-dev/apple-skills

guide-swift-testing

Swift Testing patterns — structs over classes, async confirmations, parameterized tests, exit tests, attachments, common agent mistakes.

View source
Original skill document

Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.

Guide Skill — This is an expert workflow/pattern guide, not API reference documentation. Originally from twostraws/Swift-Testing-Agent-Skill by Paul Hudson. MIT License.

Swift Testing Patterns

Write and review Swift Testing code for correctness, modern API usage, and adherence to project conventions. Report only genuine problems — do not nitpick or invent issues.

Core Instructions

  • Target Swift 6.2 or later, using modern Swift concurrency.
  • Swift Testing does not support UI tests — XCTest must be used there.
  • Do not rewrite existing XCTest to Swift Testing unless requested.

Review Process

  1. Ensure tests follow core conventions using references/core-rules.md.
  2. Validate structure, assertions, dependency injection, and best practices using references/writing-better-tests.md.
  3. Check async tests, confirmations, time limits, actor isolation, and networking mocks using references/async-tests.md.
  4. Ensure new features like raw identifiers, exit tests, and attachments are used correctly using references/new-features.md.
  5. If migrating from XCTest, follow references/migrating-from-xctest.md.

If doing partial work, load only the relevant reference files.

References

TopicReference
Structs over classes, @Suite, parallel execution, withKnownIssue, tagsreferences/core-rules.md
Test hygiene, structure, DI, #expect vs #require, Issue.record(), verification methodsreferences/writing-better-tests.md
Serialized tests, confirmation(), time limits, actor isolation, mocking networkingreferences/async-tests.md
Raw identifiers, exit tests, attachments, test scoping traits, range-based confirmationsreferences/new-features.md
XCTest-to-Swift Testing conversion, assertion mappings, floating-point tolerancereferences/migrating-from-xctest.md
from this repository

More skills

All skills