guide-swift-testing
GitHub提供 Swift Testing 代码编写、审查和迁移的最佳实践指南,涵盖并发测试、断言使用及从 XCTest 迁移的规范,确保代码正确性与现代 API 合规性。
Trigger Scenarios
Install
npx skills add Prisma-Labs-Dev/apple-skills --skill guide-swift-testing -g -y
SKILL.md
Frontmatter
{
"name": "guide-swift-testing",
"type": "guide",
"origin": "https:\/\/github.com\/twostraws\/Swift-Testing-Agent-Skill",
"license": "MIT",
"description": "Swift Testing patterns — structs over classes, async confirmations, parameterized tests, exit tests, attachments, common agent mistakes. Use when writing, reviewing, or migrating Swift Testing code."
}
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
- Ensure tests follow core conventions using
references/core-rules.md. - Validate structure, assertions, dependency injection, and best practices using
references/writing-better-tests.md. - Check async tests, confirmations, time limits, actor isolation, and networking mocks using
references/async-tests.md. - Ensure new features like raw identifiers, exit tests, and attachments are used correctly using
references/new-features.md. - If migrating from XCTest, follow
references/migrating-from-xctest.md.
If doing partial work, load only the relevant reference files.
References
| Topic | Reference |
|---|---|
Structs over classes, @Suite, parallel execution, withKnownIssue, tags |
references/core-rules.md |
Test hygiene, structure, DI, #expect vs #require, Issue.record(), verification methods |
references/writing-better-tests.md |
Serialized tests, confirmation(), time limits, actor isolation, mocking networking |
references/async-tests.md |
| Raw identifiers, exit tests, attachments, test scoping traits, range-based confirmations | references/new-features.md |
| XCTest-to-Swift Testing conversion, assertion mappings, floating-point tolerance | references/migrating-from-xctest.md |
Version History
- a76633b Current 2026-07-25 07:01


