$ recombobulate _
home / tips / use-claude-to-write-pest-php-tests
0

Use Claude to Write Pest PHP Tests

bagwaa @bagwaa · Mar 26, 2026 · Workflows
use-claude-to-write-pest-php-tests

Pest's expressive syntax is a joy to write, but generating a full test suite from scratch still takes time. Just describe the behaviour and let Claude do the heavy lifting.

claude "Write Pest tests for a UserRegistrationService that validates email uniqueness, hashes passwords, and fires a UserRegistered event. Include happy path and failure cases."

Claude will scaffold a complete test file using Pest's fluent it() and expect() API, including setup, mocking, and assertions — without you having to hand-craft each case.

For existing code, paste the class directly and ask Claude to cover it:

cat app/Services/OrderService.php | claude "Write thorough Pest tests for this class. Use mocks for any external dependencies and cover edge cases."

You can also ask Claude to add arch tests — Pest's static analysis layer — to enforce your project's structural rules:

// Claude can generate these too
arch('controllers should not use models directly')
    ->expect('App\Http\Controllers')
    ->not->toUse('App\Models');

Let Claude write the tests — you just make them pass.

~/recombobulate $ tip --comments --count=0

Log in to leave a comment.

~/recombobulate $ tip --related --limit=3
0
Scan Pending Changes for Security Issues with /security-review

The /security-review command scans your uncommitted changes for injection vectors, auth gaps, hardcoded secrets, and other common vulnerabilities.

bagwaa @bagwaa · 1 hour ago
0
Run Setup Scripts on Every Session with the SessionStart Hook

The SessionStart hook fires when any session begins or resumes, making it ideal for loading environment variables and running one-time setup scripts.

bagwaa @bagwaa · 1 hour ago
0
Write Property-Based Tests with fast-check and Claude

Ask Claude to write property-based tests for your functions using fast-check — it identifies the mathematical invariants in your code and generates tests that cover inputs you'd never enumerate by hand.

bagwaa @bagwaa · 2 hours ago