PHPackages                             pestphp/pest - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. pestphp/pest

ActiveLibrary[Framework](/categories/framework)

pestphp/pest
============

The elegant PHP Testing Framework.

v5.0.2(2w ago)11.6k77.3M—6.1%519[179 issues](https://github.com/pestphp/pest/issues)[33 PRs](https://github.com/pestphp/pest/pulls)20MITPHPPHP ^8.4CI failing

Since May 11Pushed 1w ago53 watchersCompare

[ Source](https://github.com/pestphp/pest)[ Packagist](https://packagist.org/packages/pestphp/pest)[ Fund](https://www.paypal.com/paypalme/enunomaduro)[ GitHub Sponsors](https://github.com/nunomaduro)[ RSS](/packages/pestphp-pest/feed)WikiDiscussions 5.x Synced 2w ago

READMEChangelog (10)Dependencies (87)Versions (254)Used By (20)

 [![PEST](https://raw.githubusercontent.com/pestphp/art/master/v5/social.png)](https://raw.githubusercontent.com/pestphp/art/master/v5/social.png)

 [![GitHub Workflow Status (5.x)](https://camo.githubusercontent.com/bc6fd62a763a12be2ee55cad6de7a312facfd8224e825b8cbee97caf324864da/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f706573747068702f706573742f74657374732e796d6c3f6272616e63683d352e78266c6162656c3d5465737473253230352e78)](https://github.com/pestphp/pest/actions) [![Total Downloads](https://camo.githubusercontent.com/2938b479c77bf6c8dd6b2eab934dc613785694e37eba586a50d479e348bbb930/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f706573747068702f70657374)](https://packagist.org/packages/pestphp/pest) [![Latest Version](https://camo.githubusercontent.com/8affa719ad4c020b3b1cadb6100a536540bde625e57510785608d727e8400424/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f706573747068702f70657374)](https://packagist.org/packages/pestphp/pest) [![License](https://camo.githubusercontent.com/824fa5a5d0a487fde40a6d989c65d56885b31c640689cd17a0f3b9046d5c6e19/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f706573747068702f70657374)](https://packagist.org/packages/pestphp/pest) [![Why PHP in 2026](https://camo.githubusercontent.com/d2b9305e630caf7daae4ca023de39ece0b885c37461629d42961533f00868b76/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5768795f5048502d696e5f323032362d3741383645383f7374796c653d666c61742d737175617265266c6162656c436f6c6f723d313831383162)](https://whyphp.dev) [![YouTube Channel Subscribers](https://camo.githubusercontent.com/a32a48cc6ec1283f38f5beedd4f3aec3eff914f663007ce9295ab1b60e5507e2/68747470733a2f2f696d672e736869656c64732e696f2f796f75747562652f6368616e6e656c2f73756273637269626572732f55434f5f68595a463267625f4379473573413741726c47673f7374796c653d666c6174266c6162656c3d796f757475626526636f6c6f723d627269676874677265656e)](https://youtube.com/@nunomaduro?sub_confirmation=1)

---

> Pest v5 Now Available: **[Read the announcement »](https://pestphp.com/docs/pest5-now-available)**.

**Pest** is an elegant testing framework for PHP developers and AI agents.

- Explore our docs at **[pestphp.com »](https://pestphp.com)**
- Follow the creator Nuno Maduro:
    - YouTube: **[youtube.com/@nunomaduro](https://youtube.com/@nunomaduro)** — Videos every week
    - Twitch: **[twitch.tv/nunomaduro](https://twitch.tv/nunomaduro)** — Live coding on Mondays, Wednesdays, and Fridays at 9PM UTC
    - Twitter / X: **[x.com/enunomaduro](https://x.com/enunomaduro)**
    - LinkedIn: **[linkedin.com/in/nunomaduro](https://www.linkedin.com/in/nunomaduro)**
    - Instagram: **[instagram.com/enunomaduro](https://www.instagram.com/enunomaduro)**
    - Tiktok: **[tiktok.com/@enunomaduro](https://www.tiktok.com/@enunomaduro)**

Sponsors
--------

[](#sponsors)

We cannot thank our sponsors enough for their incredible support in funding Pest's development. Their contributions have been instrumental in making Pest the best it can be. For those who are interested in becoming a sponsor, please visit Nuno Maduro's Sponsor page at **[github.com/sponsors/nunomaduro](https://github.com/sponsors/nunomaduro)**.

- **[CMS Max](https://cmsmax.com/?ref=pestphp)**
- **[PhpStorm](https://jb.gg/nuno)**
- **[CodeRabbit](https://coderabbit.link/nunomaduro)**
- **[SerpApi](https://serpapi.com/?ref=nunomaduro)**
- **[Typesense](https://typesense.org/?ref=nunomaduro)**
- **[Bento](https://bentonow.com/?ref=nunomaduro)**
- **[Pixel](https://wearepixel.com.au/?ref=nunomaduro)**
- **[Redberry](https://redberry.international/laravel-development/?ref=nunomaduro)**

Pest is an open-sourced software licensed under the **[MIT license](https://opensource.org/licenses/MIT)**.

###  Health Score

88

—

ExcellentBetter than 100% of packages

Maintenance97

Actively maintained with recent releases

Popularity86

Widely adopted with strong download metrics

Community66

Healthy contributor diversity

Maturity93

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 69.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~9 days

Recently: every ~3 days

Total

249

Last Release

18d ago

Major Versions

v3.8.6 → v4.4.22026-03-10

1.x-dev → 2.x-dev2026-05-13

2.x-dev → v4.7.12026-06-01

3.x-dev → v4.7.52026-07-06

4.x-dev → v5.0.02026-07-24

PHP version history (6 changes)v0.1.0PHP ^7.3

v0.3.0PHP ^7.3 || ^8.0

v2.0.1PHP ^8.1.0

v3.0.0PHP ^8.2.0

v4.0.0PHP ^8.3.0

v5.0.0PHP ^8.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/86cfef5c1f5195df1a9db17a5f8ecb34455e1f0133a725de9acf7f2fb26ac6a1?d=identicon)[nunomaduro](/maintainers/nunomaduro)

---

Top Contributors

[![nunomaduro](https://avatars.githubusercontent.com/u/5457236?v=4)](https://github.com/nunomaduro "nunomaduro (1959 commits)")[![lukeraymonddowning](https://avatars.githubusercontent.com/u/12202279?v=4)](https://github.com/lukeraymonddowning "lukeraymonddowning (219 commits)")[![fabio-ivona](https://avatars.githubusercontent.com/u/8792274?v=4)](https://github.com/fabio-ivona "fabio-ivona (168 commits)")[![owenvoke](https://avatars.githubusercontent.com/u/1899334?v=4)](https://github.com/owenvoke "owenvoke (109 commits)")[![jordanbrauer](https://avatars.githubusercontent.com/u/18744334?v=4)](https://github.com/jordanbrauer "jordanbrauer (52 commits)")[![nuernbergerA](https://avatars.githubusercontent.com/u/13331388?v=4)](https://github.com/nuernbergerA "nuernbergerA (31 commits)")[![MrPunyapal](https://avatars.githubusercontent.com/u/53343069?v=4)](https://github.com/MrPunyapal "MrPunyapal (29 commits)")[![mertasan](https://avatars.githubusercontent.com/u/13007665?v=4)](https://github.com/mertasan "mertasan (25 commits)")[![danilopolani](https://avatars.githubusercontent.com/u/6277291?v=4)](https://github.com/danilopolani "danilopolani (24 commits)")[![dimitrioskarvounaris](https://avatars.githubusercontent.com/u/66212726?v=4)](https://github.com/dimitrioskarvounaris "dimitrioskarvounaris (22 commits)")[![faissaloux](https://avatars.githubusercontent.com/u/60013703?v=4)](https://github.com/faissaloux "faissaloux (15 commits)")[![dansysanalyst](https://avatars.githubusercontent.com/u/79267265?v=4)](https://github.com/dansysanalyst "dansysanalyst (14 commits)")[![hungthai1401](https://avatars.githubusercontent.com/u/22017922?v=4)](https://github.com/hungthai1401 "hungthai1401 (13 commits)")[![Gummibeer](https://avatars.githubusercontent.com/u/6187884?v=4)](https://github.com/Gummibeer "Gummibeer (13 commits)")[![devajmeireles](https://avatars.githubusercontent.com/u/60591772?v=4)](https://github.com/devajmeireles "devajmeireles (12 commits)")[![JonPurvis](https://avatars.githubusercontent.com/u/7534029?v=4)](https://github.com/JonPurvis "JonPurvis (12 commits)")[![olivernybroe](https://avatars.githubusercontent.com/u/5870441?v=4)](https://github.com/olivernybroe "olivernybroe (12 commits)")[![cerbero90](https://avatars.githubusercontent.com/u/5838106?v=4)](https://github.com/cerbero90 "cerbero90 (11 commits)")[![leMaur](https://avatars.githubusercontent.com/u/2118799?v=4)](https://github.com/leMaur "leMaur (11 commits)")[![octoper](https://avatars.githubusercontent.com/u/6823226?v=4)](https://github.com/octoper "octoper (11 commits)")

---

Tags

frameworkpestphptestingphptestingunitframeworktestpest

### Embed Badge

![Health badge](/badges/pestphp-pest/health.svg)

```
[![Health](https://phpackages.com/badges/pestphp-pest/health.svg)](https://phpackages.com/packages/pestphp-pest)
```

###  Alternatives

[laravel/framework

The Laravel Framework.

34.9k556.2M21.5k](/packages/laravel-framework)[pestphp/pest-plugin-browser

Pest plugin to test browser interactions

1344.6M278](/packages/pestphp-pest-plugin-browser)[pestphp/pest-plugin-arch

The Arch plugin for Pest PHP.

4463.1M6.3k](/packages/pestphp-pest-plugin-arch)[pestphp/pest-plugin-profanity

The Pest Profanity Plugin

10622.1M102](/packages/pestphp-pest-plugin-profanity)[pestphp/pest-plugin-mutate

Mutates your code to find untested cases

4643.1M54](/packages/pestphp-pest-plugin-mutate)[spatie/pest-plugin-route-testing

Make sure all routes in your Laravel app are ok

14081.4k1](/packages/spatie-pest-plugin-route-testing)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
