Php testing
Skill ComeOnOliver/skillshub/skills/HoangNguyen0403/agent-skills-standard/php-testing
π§ The right skill, one API call. AI agent skills registry with token-efficient skill resolution. 5,000+ skills from 500+ top repos.
npx -y skills add ComeOnOliver/skillshub --skill php-testingAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Unit and integration testing standards for PHP applications. Use when writing PHPUnit unit tests or integration tests for PHP applications. (triggers: tests/**/*.php, phpunit.xml, phpunit, pest, mock, assert, tdd)
SKILL.md
2.2 KB, 531 tokens by cl100k_base, as published. Nobody here has run it
PHP Testing
Priority: P1 (HIGH)
Structure
tests/
βββ Unit/
βββ Integration/
βββ Feature/
Implementation Guidelines
- Standards: Use
PHPUnit(9/10+) orPest. Organize intoUnit/,Integration/, andFeature/. Class names should extendTestCase(e.g.,class OrderServiceTest extends TestCase). - TDD Workflow: Follow Red-Green-Refactor. Red: write failing test first for
createOrder(), then Green: implement minimal logic to pass, then Refactor. - Mocking: Use
createMock(PaymentService::class)for dependencies. Define behavior withexpects($this->once())andmethod('charge')withwith(100)->willReturn(true). DO NOT mock simple Data Objects. - Fluent Assertions:
assertSame checks type + value(===) β useassertSame('Test', $result->title)overassertEqualsto avoid type coercion surprises. Also useassertCount()andassertMatchesRegularExpression(). - Data Providers: Use
#[DataProvider('statusProvider')](PHPUnit 10+) with apublic static function statusProvider(): arrayordataset(Pest). - Isolation: Ensure tests are Independent and Repeatable. DB tests must use
TransactionsorSQLite :memory:. - Pest syntax: Use
it('creates an order', function() { ... })andexpect($result->title)->toBe('Test')for cleaner, more readable tests. - Coverage: Aim for
80%+line coverage. Usephpunit.xmlto whitelist specific directories. - Automation: Run tests on every PR using GitHub Actions or GitLab CI.
Anti-Patterns
- No testing private methods: Test through public interfaces only.
- No over-mocking internals: Mock only external boundaries.
- No real network/DB in unit tests: Use in-memory databases or mocks.
- No coverage-metric chasing: Prioritize meaningful assertions.
References
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.