← ClaudeAtlas

phpunitlisted

Use when writing, reviewing, or migrating PHPUnit 9, 10, or 11 tests, resolving a project version, or choosing assertion, metadata, provider, mock, hook, runner, or coverage APIs. Not for PHPUnit 5/6/7-only suites, everyday assertion writing without a version decision, or Laravel routing. Output: selected version boundary, applicable reference, migration guidance, and verification evidence.
hmj1026/dhpk · ★ 2 · Testing & QA · score 71
Install: claude install-skill hmj1026/dhpk
# PHPUnit family — version router Use this family for PHPUnit 9, 10, and 11 work. Resolve one version first, then read exactly that selector reference; conditional references keep unrelated version guidance out of context. ## Resolution contract 1. If the caller supplies 9, 10, or 11, use that selector without reading project files or dhpk manifests. 2. Otherwise inspect the current project's composer.lock (installed phpunit/phpunit version) and then composer.json (require and require-dev). Select a single resolvable major. 3. If no supported major is detected, ask which version applies. Do not guess, default to the newest reference, or use distribution/install manifests. The family-local resolver and portable CLI implement this contract: node scripts/resolve-version.js --json [--version 9|10|11] The JSON result reports status, family, selector, source, reference, loadedReferences, and the selected guidance. An unresolved result reports status "ask", no reference loaded, and an actionable question. ## Version branches - 9 — PHPUnit 8.5/9.x lifecycle signatures, assertions, providers, mocks, hooks, risky-test checks, and the complete API migration catalog: references/9.md. - 10 — PHP 8.1 floor, attributes preferred while doc-comment metadata still works, runner/configuration changes, hooks, and the 9 → 10 checklist: references/10.md. - 11 — PHP 8.2 floor, attribute-first migration, deprecated doc-comment metadata, typed overrides, discovery, a