laravel:tdd-with-pest
SkillDev toolsApply RED-GREEN-REFACTOR with Pest or PHPUnit; use factories, feature tests for HTTP, and parallel test runners; verify failures before implementation
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the laravel:tdd-with-pest skill
What this skill tells your AI
The instructions your AI receives, as published by jpcaparas/superpowers-laravel in skills/tdd-with-pest/SKILL.md and read by ahel’s review.
Write the test first. Watch it fail. Write minimal code to pass. Keep tests fast and realistic.
Test Runner
# Sail
sail artisan test --parallel
# Non-Sail
php artisan test --parallel
Prefer Pest (default in new Laravel apps). PHPUnit is fine if your project uses it.
RED – Write a failing test
- Use model factories; avoid heavy mocking
- Feature tests for HTTP/controllers; unit tests for pure services
- Name tests by behavior
Example (feature):
it('rejects empty email on signup', function () {
$response = $this->post('/register', [
'name' => 'Alice',
'email' => '',
'password' => 'secret',
'password_confirmation' => 'secret',
]);
$response->assertSessionHasErrors('email');
});
Run and confirm it fails for the right reason.
GREEN – Minimal implementation
Write the simplest code to pass your failing test. No extras. No refactors.
REFACTOR – Clean up
Remove duplication, clarify names, extract small services. Keep tests green.
Guidelines
- Every production change starts with a failing test
- Watch failures; never skip the failing phase
- Use factories/seeders for realistic data
- Use DB transactions or refreshes in tests as needed
- Keep tests deterministic; avoid sleeps in async flows
When stuck
- If a test is hard to write, design is too coupled; extract a service or port
- Prefer dependency injection; avoid static/global state
Signals
- GitHub stars
- 153
- Forks
- 2
- Last commit
- Jul 2026
Advanced
- Catalog kind
- skill
- Gateway key
laravel-tdd-with-pest- Source
- github.com/jpcaparas/superpowers-laravel