Files
everything-claude-code/rules/php/testing.md
Sam Rook 113119dc6f feat: add laravel skills (#420)
* feat: add laravel skills

* docs: fix laravel patterns example

* docs: add laravel api example

* docs: update readme and configure-ecc for laravel skills

* docs: reference laravel skills in php rules

* docs: add php import guidance

* docs: expand laravel skills with more pattern, security, testing, and verification examples

* docs: add laravel routing, security, testing, and sail guidance

* docs: fix laravel example issues from code review

* docs: fix laravel examples and skills per review findings

* docs: resolve remaining laravel review fixes

* docs: refine laravel patterns and tdd guidance

* docs: clarify laravel queue healthcheck guidance

* docs: fix laravel examples and test guidance

* docs: correct laravel tdd and api example details

* docs: align laravel form request auth semantics

* docs: fix laravel coverage, imports, and scope guidance

* docs: align laravel tdd and security examples with guidance

* docs: tighten laravel form request authorization examples

* docs: fix laravel tdd and queue job examples

* docs: harden laravel rate limiting and policy examples

* docs: fix laravel pagination, validation, and verification examples

* docs: align laravel controller response with envelope

* docs: strengthen laravel password validation example

* docs: address feedback regarding examples

* docs: improve guidance and examples for pest usage

* docs: clarify laravel upload storage and authorization notes

* docs: tighten up examples
2026-03-16 13:35:23 -07:00

1.1 KiB

paths
paths
**/*.php
**/phpunit.xml
**/phpunit.xml.dist
**/composer.json

PHP Testing

This file extends common/testing.md with PHP specific content.

Framework

Use PHPUnit as the default test framework. If Pest is configured in the project, prefer Pest for new tests and avoid mixing frameworks.

Coverage

vendor/bin/phpunit --coverage-text
# or
vendor/bin/pest --coverage

Prefer pcov or Xdebug in CI, and keep coverage thresholds in CI rather than as tribal knowledge.

Test Organization

  • Separate fast unit tests from framework/database integration tests.
  • Use factory/builders for fixtures instead of large hand-written arrays.
  • Keep HTTP/controller tests focused on transport and validation; move business rules into service-level tests.

Inertia

If the project uses Inertia.js, prefer assertInertia with AssertableInertia to verify component names and props instead of raw JSON assertions.

Reference

See skill: tdd-workflow for the repo-wide RED -> GREEN -> REFACTOR loop. See skill: laravel-tdd for Laravel-specific testing patterns (PHPUnit and Pest).