swift-testing — скилл для Claude Code: тесты Swift Testing и миграция
Пишет тесты на Swift Testing и переводит на них существующие проверки XCTest, подсказывая, что оставить в XCTest и XCUITest.
npx skills add dpearson2699/swift-ios-skills --skill swift-testing -a claude-codeЧто делает swift-testing
Скилл задаёт агенту рамку работы с Swift Testing: @Test, @Suite, #expect, #require, withKnownIssue, Attachment.record, exit-тесты с processExitsWith. Новая проверка сразу получает правильный инструмент, а не копию старой XCTest-привычки.
Устройство — набор справочников внутри скилла: паттерны, организация сьютов, продвинутые API и таблица совместимости версий. При миграции он идёт по файлу за раз и сверяет число найденных, пройденных и упавших тестов. @available он ставит на отдельные @Test, не на сьют.
Swift Testing работает на Xcode 16+ и Swift 6+. UI-автотесты, замеры производительности, тесты на исключения Objective-C и типовые snapshot-инструменты остаются в XCTest — механически менять их на #expect не стоит. В смешанных хелперах важен режим интероперабельности из тест-плана: старые планы наследуют limited, новые проекты берут complete, а для SwiftPM есть SWIFT_TESTING_XCTEST_INTEROP_MODE.
Какие задачи решает
- написать первый тест на Swift Testing без оглядки на XCTest
- перевести файл с
XCTUnwrapиXCTFailна#requireиIssue.record - пометить известное падение через
withKnownIssue, чтобы тест не краснел - найти утечку состояния между параллельно идущими тестами
- разобраться, что из проверок придётся оставить в XCTest
Примеры запросов агенту
- Напиши тест на
@Testдля расчёта скидки и проверь граничные случаи через#expect - Переведи
OrderTests.swiftс XCTest на Swift Testing и покажи, что останется в XCTest - Тесты падают только в CI — проверь, не мешает ли общее состояние между параллельными запусками
Как установить swift-testing
1Через Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill swift-testing -a claude-code2Вручную: положить файлы
~/.claude/skills/swift-testing/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/swift-testing/
1Через Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill swift-testing -a codex2Вручную: положить файлы
.agents/skills/swift-testing/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill swift-testing -a cursor2Вручную: положить файлы
.cursor/skills/swift-testing/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install dpearson2699/swift-ios-skills swift-testing2Вручную: положить файлы
.github/skills/swift-testing/SKILL.md1Через Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill swift-testing -a gemini-cli2Командой платформы
gemini skills install https://github.com/dpearson2699/swift-ios-skills --path skills/swift-testingВручную: положить файлы
.devin/skills/swift-testing/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill swift-testing -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора69
Похожие
Рядом в теме «Тесты и QA»
Всё по теме «Тесты и QA» →Вопросы о swift-testing
Как установить swift-testing в Claude Code?
Одной командой: npx skills add dpearson2699/swift-ios-skills --skill swift-testing -a claude-code. После установки файл скилла лежит по пути ~/.claude/skills/swift-testing/SKILL.md.
Что делает swift-testing?
Пишет и мигрирует тесты на фреймворке Swift Testing: @Test, @Suite, #expect, #require, известные проблемы, вложения и exit-тесты. Отдельно подсказывает, где миграцию лучше остановить.
Когда оставить тест в XCTest?
Для UI-автоматизации, замеров производительности, проверок исключений Objective-C и распространённых snapshot-инструментов. Для юнит-тестов скилл советует Swift Testing.