Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Pest Laravel Package

nunomaduro/pest

Pest is an elegant PHP testing framework focused on simplicity. Built on top of PHPUnit, it offers a clean, expressive syntax that makes writing tests enjoyable, with readable expectations and a developer-friendly API.

View on GitHub
Deep Wiki
Context7

The Pest Testing framework.

Frequently asked questions about Pest
What is nunomaduro/pest?
nunomaduro/pest is the original Composer package for the Pest testing framework, an expressive DSL and expectation API built on top of PHPUnit. It is a dev-time test toolchain dependency intended for require-dev, not runtime infrastructure. The repository is archived and its description points to a maintained successor under pestphp/pest.
Is nunomaduro/pest still maintained?
No. The repository is archived, author-deprecated, and has zero dependents, so there are no bug fixes, security patches, or PHP and PHPUnit compatibility updates. The active successor lives under the different Composer name pestphp/pest. Treat nunomaduro/pest as a frozen legacy dependency only.
Should I use nunomaduro/pest or pestphp/pest in a Laravel application?
For any new Laravel or PHP project, use pestphp/pest. nunomaduro/pest is only defensible in a frozen legacy repository whose lockfile already resolves and whose test suite cannot be modernized immediately. New adoption of the archived package caps future upgrade paths and creates namespace confusion with current Pest documentation.
Does nunomaduro/pest support current Laravel versions?
There is no ongoing compatibility work for current Laravel, PHP, or PHPUnit releases because the repository is archived. A new integration would require pinning old PHP, PHPUnit, and possibly Laravel versions or accepting untested compatibility. Modern Laravel testing conventions assume a maintained PHPUnit and, optionally, pestphp/pest with its Laravel plugin.
How do I install nunomaduro/pest?
You can technically add it as a development dependency with composer require --dev nunomaduro/pest, but new installation is not recommended. The package is archived and superseded, so installation should be limited to reproducing an existing legacy lockfile. For new projects, install pestphp/pest instead.
Is nunomaduro/pest safe for production?
It is a dev-time test toolchain entry in require-dev, so it never sits on production request paths. The real risk is CI gating and upgrade containment: a broken archived runner has no upstream remedy and can block all delivery. Keep it out of production dependencies and treat any legacy pin as a containment problem with an owned exception.
Can I use nunomaduro/pest with PHPUnit 10 or 11?
There is no maintained compatibility work for newer PHPUnit versions because the package is archived and author-deprecated. Using it with PHPUnit 10 or 11 would be untested and may require internal patching. The maintained successor, pestphp/pest, is the appropriate path for current PHPUnit compatibility.
What are the alternatives to nunomaduro/pest for Laravel testing?
The primary alternative is pestphp/pest, the actively maintained successor with current Laravel and PHPUnit compatibility. You can also use PHPUnit directly or Laravel's built-in testing helpers without Pest's expressive DSL. For new work, standardize on a maintained option rather than the archived nunomaduro package.
How do I migrate from nunomaduro/pest to pestphp/pest?
Replace the require-dev constraint for nunomaduro/pest with pestphp/pest, then follow the successor's upgrade guidance and run the full test suite. Because current Pest documentation targets pestphp/pest, validate copied snippets against the installed version rather than assuming compatibility. Migration cost should be owned explicitly, either by the service team or the platform team.
Is nunomaduro/pest suitable for CI pipelines?
It is not suitable for new CI pipelines because the archived runner has no upstream bug fixes, security patches, or PHP and PHPUnit compatibility work. Test tooling failures block all delivery, making a broken runner with no remedy the worst class of pipeline dependency. Existing pipelines should contain the legacy pin with pinned versions, a documented exception, and a migration plan to pestphp/pest.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle