Swift Testing

Patterns Swift Testing, taxonomie des doublures de test, et conseils de migration pour les suites basées sur @Test.

par bocato · bocato/swift-testing-agent-skill

Testé · Fonctionne ★ 9.6/10

Swift Testing — Patterns Swift Testing, taxonomie des doublures de test, et conseils de migration pour les suites basées sur @Test.

Ce que fait

Encode les conventions Swift Testing (@Test/#expect/#require/@Suite), la taxonomie des doublures de test de Martin Fowler (corrigeant l'habitude communautaire d'appeler tout stub un « Mock »), et les règles de placement des fixtures/mocks, appuyé par neuf fichiers de référence couvrant l'organisation, l'asynchrone, la migration, les tests paramétrés, et les tests de snapshot. Se déclenche sur les mots-clés Swift Testing, les demandes de migration XCTest, ou les questions de doublure de test/fixture/TDD limitées à Swift.

Rapport de test

Demandé une suite de tests pour un validateur d'email plus un mock de repository : la version skill a utilisé la paramétrisation @Suite/@Test sur 3-4 entrées chacune, correctement renommé le naïf 'MockUserRepository' en 'SpyingStub' selon la taxonomie de Fowler, et l'a placé à côté du protocole sous #if DEBUG exactement comme le skill l'impose — la base de référence a utilisé du XCTest classique et a mal étiqueté le stub comme un mock.

Testé le: 2026-07-13 · Claude Code 2.x (agent harness)

Installation

git clone https://github.com/bocato/swift-testing-agent-skill
cd swift-testing-agent-skill
mkdir -p ~/.claude/skills
cp -r swift-testing ~/.claude/skills/swift-testing

Commandes et exemples de prompts

  • /swift-testingPatterns Swift Testing, taxonomie des doublures de test, et conseils de migration pour les suites basées sur @Test.

Les skills se déclenchent sur des demandes en langage courant — aucune commande à retenir. Après installation, des prompts comme ceux-ci l'activent (en anglais) :

  • Migrate these XCTest cases to Swift Testing with @Test and #expect
  • Should this test double be a stub or a mock in my Swift Testing suite
  • Write parameterized Swift Testing cases for this async function