php-testing — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited php-testing (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Apply PHPUnit testing patterns for PHP projects: unit tests with data providers, test doubles (stubs, mocks, Prophecy), database testing (Laravel/Symfony), HTTP testing, and coverage configuration.
See references/patterns.md for full code examples, the failure modes table, and the commands reference.| Signal | Load These Files | Why |
|---|---|---|
| writing PHPUnit tests: data providers, mocks/stubs, database or HTTP tests, coverage config | patterns.md | Loads detailed guidance from patterns.md. |
Determine what needs testing:
TestCase with test prefix or @test annotation@dataProvider static methodsDatabaseTransactions (Laravel) or KernelTestCase (Symfony)WebTestCaseWrite tests following these rules:
parent::setUp() first in every setUp() methodassertSame() instead of assertTrue($a === $b) for meaningful failure messages@depends chains@dataProvider rather than duplicating test methodsFor test doubles: use createStub() when you only need return values, createMock() when asserting method calls, and Prophecy (phpspec/prophecy-phpunit) for more expressive interaction assertions.
For database tests: use DatabaseTransactions (Laravel) or DoctrineTestBundle (Symfony) to roll back state after each test.
Run the test suite and confirm all tests pass:
./vendor/bin/phpunitFor coverage enforcement:
XDEBUG_MODE=coverage ./vendor/bin/phpunit --coverage-text --coverage-min=80GATE: All tests pass. Coverage threshold met if configured. No failure modes from references/patterns.md introduced.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.