About testing-symfony
A Symfony testing strategy skill for teams working with Symfony and PHP. It organizes backend, browser, mutation, and static-analysis testing around Pest, PHPUnit, Playwright, Infection, and PHPStan.
Key features
- 01Pest unit and integration testing
- 02Pest browser testing with Playwright
- 03Infection mutation testing
- 04PHPStan Level 10 static analysis
- 05Test structure and coverage requirements
Use cases
- 01Plan Symfony backend test suites
- 02Add browser-based end-to-end tests
- 03Measure test quality with mutation testing
- 04Enforce architecture and static-analysis rules
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ thebeardedbearsas/ claude-craft --skill testing-symfonyAfter installing, type/testing-symfonyin Claude Code to confirm it loaded.
Bundled filesREFERENCE.md
Details
From the project READMEStratégie de Tests Symfony 8.1 / PHP 8.5
Versions : Symfony 8.1+ | PHP 8.5 | Pest 5 | PHPUnit 13 | Playwright
Pest 5 (PHP 8.4+, PHPUnit 13) intègre nativement le test navigateur (Playwright) : plus besoin de Panther pour l'E2E. Behat (4.x, maintenu) reste pertinent pour le BDD Gherkin ; sinon préférer des tests Pest descriptifs.
Stack recommandée 2026
| Type | Outil | Usage |
|---|---|---|
| Unit/Integration | Pest 5 (PHPUnit 13, PHP 8.4+, arch tests) | Tests backend Symfony |
| Browser/E2E | Pest 5 Browser Testing (Playwright natif) | Tests frontend intégrés |
| Mutation | Infection | Qualité des tests (MSI >= 80%) |
| Static Analysis | PHPStan Level 10 | Vérification statique |
Sources : Pest 5 Upgrade Guide, Infection
Invariants non-négociables
- Couverture >= 80% (line + branch)
- Mutation Score Indicator (MSI) >= 80% via Infection
- PHPStan Level 10 — aucun
mixednon justifié - Arch tests : domain indépendant de l'infrastructure
- Fixtures via
doctrine/data-fixtures— pas de données hard-codées - Pattern AAA (Arrange-Act-Assert) dans chaque test
- Tests browser dans
tests/Browser/, unit danstests/Unit/, feature danstests/Feature/
Checklist par type
| Type | Vérification |
|---|---|
| Unit | Isolation totale, pas de DB, mocks Prophecy/Mockery |
| Integration | KernelTestCase, fixtures chargées, DB de test |
| Browser | Playwright natif Pest 5, assertions sur l'UI réelle |
| Arch | pest()->arch() — namespaces, dépendances, interdictions |
| Mutation | vendor/bin/infection --threads=4, MSI >= 80 |
Détails complets, exemples de code, configs et checklists : voir REFERENCE.md
Comments
Markdown supported