Swift Testing
Pattern di Swift Testing, tassonomia dei test double, e guida alla migrazione per suite basate su @Test.
Promosso
Cosa fa
Codifica le convenzioni di Swift Testing (@Test/#expect/#require/@Suite), la tassonomia dei test double di Martin Fowler (correggendo l'abitudine diffusa di chiamare 'Mock' ogni stub), e le regole di posizionamento di fixture/mock, supportato da nove file di riferimento che coprono organizzazione, async, migrazione, test parametrizzati, e snapshot testing. Si attiva su parole chiave di Swift Testing, richieste di migrazione da XCTest, o domande su test-double/fixture/TDD nell'ambito Swift.
Rapporto di test
Ho chiesto una suite di test per un validatore di email più un mock di un repository: la versione con lo skill ha usato la parametrizzazione @Suite/@Test su 3-4 input ciascuno, ha correttamente rinominato l'ingenuo 'MockUserRepository' in uno 'SpyingStub' secondo la tassonomia di Fowler, e lo ha posizionato accanto al protocollo sotto #if DEBUG esattamente come impone lo skill — la baseline ha usato XCTest semplice e ha etichettato erroneamente lo stub come un mock.
Testato il: 2026-07-13 · Claude Code 2.x (agent harness)
Installazione
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
Comandi e prompt di esempio
/swift-testingPattern di Swift Testing, tassonomia dei test double, e guida alla migrazione per suite basate su @Test.
Gli skill si attivano con richieste in linguaggio naturale, senza comandi da ricordare. Dopo l'installazione, prompt come questi lo attivano (in inglese):
Migrate these XCTest cases to Swift Testing with @Test and #expectShould this test double be a stub or a mock in my Swift Testing suiteWrite parameterized Swift Testing cases for this async function