Skip to content
Back to skills

Php Testing

ASecurity

Mock external boundaries, not private methods or simple data objects: ~~~php $repository = $this->createMock(UserRepository::class); $repository->expects($this->once()) ->method('findById') ->with(42) ->willReturn($user); $service = new UserService($repository); ~~~ Assert public behavior, avoid over-mocking internals, and use an in-memory database or transaction for database integration tests.

  • 549 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 5, 2026
developmentphpdatabase

Security analysis

A100/100

Pro scans all 18 files and shows the line behind each finding

Scanned September 5, 2026

npx -y skills add HoangNguyen0403/agent-skills-standard --skill php-testing --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Php Testing?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Php Testing
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/hoangnguyen0403-php-testing-230fe524/badge)](https://www.skillsdirectory.com/skills/hoangnguyen0403-php-testing-230fe524)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
Mock external boundaries, not private methods or simple data objects:

~~~php
$repository = $this->createMock(UserRepository::class);
$repository->expects($this->once())
    ->method('findById')
    ->with(42)
    ->willReturn($user);

$service = new UserService($repository);
~~~

Assert public behavior, avoid over-mocking internals, and use an in-memory database or transaction for database integration tests.

Files in this skill

  • eval-1.baseline.md780 B
  • eval-1.with-skill.md621 B
  • eval-2.baseline.md441 B
  • eval-2.with-skill.md463 B
  • eval-3.baseline.md624 B
  • eval-3.with-skill.md414 B
  • eval-4.baseline.md746 B
  • eval-4.with-skill.md522 B
  • eval-5.baseline.md562 B
  • eval-5.with-skill.md336 B
  • eval-6.baseline.md611 B
  • eval-6.with-skill.md395 B
  • trigger-1.md84 B
  • trigger-2.md81 B
  • trigger-3.md77 B
  • trigger-4.md71 B
  • trigger-5.md67 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…