- Home
- Unit Testing
- Pest
Pest
What it is
Pest is a free PHP testing framework for developers and AI agents. It is added to a PHP project as a Composer development dependency, and Pest 5 requires PHP 8.4 or later. Its testing tools include parallel execution, coverage, mutation and snapshot testing, profiling, architectural checks, browser testing, and optional plugins. The Browser plugin uses Playwright for page interactions such as clicking and form entry. Coding agents can use the Agent plugin for one-off application verifications; browser driving is available when the Browser plugin is installed. Pest Evals combines regular Pest tests with AI-powered scorers for evaluating LLM output. The Tia Engine reruns tests affected by recent changes and requires PCOV or Xdebug for coverage. Pest supports parameterized cases but does not include built-in mocks. Integrations include plugins for Faker, Laravel, and Livewire, plus first-party PHPStan and Rector plugins. Pest says it is suitable for projects ranging from personal work to enterprise applications. Its maintainers do not promise fixed bug-resolution times or fixes for every issue; outdated versions receive bug fixes for 12 months after the latest release.
For and against
For
- Free PHP testing framework
- Supports parallel execution and snapshot testing
- Browser plugin uses Playwright
- Parameterized test cases are supported
Against
- Pest 5 requires PHP 8.4 or greater
- Built-in mocks are not included
- No fixed bug-resolution time is promised
The verdict
Pest brings a broad set of PHP testing approaches, with additional tools for browser checks and AI evaluations. Check the PHP requirement and support policy against your project needs.
Who it suits
Pest is for PHP developers and coding agents that need to run tests or verify application behavior. Its described scope covers small personal projects as well as enterprise applications.
Plans and prices
Pest
Open-source PHP testing framework · Requires PHP 8.4+ for Pest 5
Read 5 Oct 2026 · pestphp.com
On the record
- AI agent checks
- The Agent plugin lets coding agents run isolated checks against a live app and save screenshots as proof.pestphp.com · read 5 Oct 2026
- AI evaluations
- Pest Evals can combine deterministic checks with AI-powered scorers to assess LLM output from a test suite.pestphp.com · read 5 Oct 2026
- Browser testing
- The Browser plugin uses Playwright to run browser tests that can interact with pages, including clicking buttons and filling forms.pestphp.com · read 5 Oct 2026
- Editor integration
- JetBrains maintains the Pest plugin for PhpStorm, where it has been included by default since version 2023.3.pestphp.com · read 5 Oct 2026
- Framework integrations
- The Pest 5 Tia Engine documentation says it detects Laravel, Symfony, Livewire, Inertia, and browser assets automatically via Composer.pestphp.com · read 5 Oct 2026
- Install
- Pest is installed in a PHP project as a Composer development dependency.pestphp.com · read 5 Oct 2026
- Integrations
- Pest's team-maintained plugins include Faker, Laravel, and Livewire.pestphp.com · read 5 Oct 2026
- Intended users
- The maker describes Pest as a testing framework for PHP developers and AI agents.pestphp.com · read 5 Oct 2026
- LLM evaluations
- Evals use ordinary Pest tests and can apply AI-powered scorers to responses.pestphp.com · read 5 Oct 2026
- Maker
- The site describes Pest as a PestPHP project by Nuno Maduro.pestphp.com · read 5 Oct 2026
- PHP requirement
- Pest 5 requires PHP 8.4 or greater and is built on PHPUnit 13.pestphp.com · read 5 Oct 2026
- PHP tooling
- Pest 5 includes first-party plugins for PHPStan and Rector, and its release page describes time-balanced sharding for CI machines.pestphp.com · read 5 Oct 2026
- Purpose
- Pest is a PHP testing framework for developers and AI agents.pestphp.com · read 5 Oct 2026
- Security
- The homepage shows a security architecture testing preset, but the opened maker pages did not state a security certification or compliance standard.pestphp.com · read 5 Oct 2026
- Security testing
- Pest's Evals documentation describes a toBeSafe() scorer for checking whether an AI agent resists prompt injection.pestphp.com · read 5 Oct 2026
- Support
- Pest's maintainers say they cannot guarantee a fixed bug resolution time or a fix for every issue; bug fixes for outdated versions are available for 12 months after the latest version's release.pestphp.com · read 5 Oct 2026
- Support policy
- Pest says bug fixes for outdated major versions are available for 12 months after the latest version's release, with no fixed resolution time or guaranteed fix for every issue.pestphp.com · read 5 Oct 2026
- Test features
- Pest includes parallel execution, coverage, mutation testing, and snapshots.pestphp.com · read 5 Oct 2026