Install
$ agentstack add skill-notque-vexjoy-agent-php-testing ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
PHP Testing Skill
Overview
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.
Reference Loading Table
| 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. |
Instructions
Phase 1: IDENTIFY
Determine what needs testing:
- Unit logic: use PHPUnit
TestCasewithtestprefix or@testannotation - Table-driven cases: use
@dataProviderstatic methods - Collaborator behavior: use stubs (return values only) or mocks (assert interactions)
- Database state: use
DatabaseTransactions(Laravel) orKernelTestCase(Symfony) - HTTP endpoints: use Laravel HTTP helpers or Symfony
WebTestCase
Phase 2: WRITE
Write tests following these rules:
- Call
parent::setUp()first in everysetUp()method - Use
assertSame()instead ofassertTrue($a === $b)for meaningful failure messages - Mock only collaborators and dependencies, never the class under test
- Keep tests independent -- do not use
@dependschains - Extract repetitive cases to
@dataProviderrather than duplicating test methods
For 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.
Phase 3: VERIFY
Run the test suite and confirm all tests pass:
./vendor/bin/phpunit
For coverage enforcement:
XDEBUG_MODE=coverage ./vendor/bin/phpunit --coverage-text --coverage-min=80
GATE: All tests pass. Coverage threshold met if configured. No failure modes from references/patterns.md introduced.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: notque
- Source: notque/vexjoy-agent
- License: MIT
- Homepage: https://vexjoy.com
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.