agentsclimarketplace

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.

Install
npx -y skills add ComeOnOliver/skillshub --skill php-testing

Assembled 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+) or Pest. Organize into Unit/, Integration/, and Feature/. Class names should extend TestCase (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 with expects($this->once()) and method('charge') with with(100)->willReturn(true). DO NOT mock simple Data Objects.
  • Fluent Assertions: assertSame checks type + value (===) β€” use assertSame('Test', $result->title) over assertEquals to avoid type coercion surprises. Also use assertCount() and assertMatchesRegularExpression().
  • Data Providers: Use #[DataProvider('statusProvider')] (PHPUnit 10+) with a public static function statusProvider(): array or dataset (Pest).
  • Isolation: Ensure tests are Independent and Repeatable. DB tests must use Transactions or SQLite :memory:.
  • Pest syntax: Use it('creates an order', function() { ... }) and expect($result->title)->toBe('Test') for cleaner, more readable tests.
  • Coverage: Aim for 80%+ line coverage. Use phpunit.xml to 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.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.