Weave Code
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

pestphp/pest

Pest is an elegant PHP testing framework focused on simplicity and a joyful developer experience. Write expressive tests with a clean syntax, run fast suites, and scale from tiny projects to large apps. Full docs at pestphp.com.

View on GitHub
Deep Wiki
Context7
v4.7.0
  • maintenance release
v4.6.3

chore: bumps phpunit

v4.6.2

fix: bumps phpunit, as previous versions became invalid due https://github.com/sebastianbergmann/phpunit/security/advisories/GHSA-qrr6-mg7r-m243

v4.6.1
  • fix: up to 30% faster boot times before your test suite runs (measured on laravel cloud)
  • fix: if you pass --filter or a test file, --update-snapshots now only updates the snapshots that match
v4.6.0

For better shard balance, Pest can distribute tests based on their actual execution time using the --update-shards option. This ensures each shard takes roughly the same wall-clock time, minimizing how long your slowest CI job runs.

Step 1: Generate the timing data by running your full test suite with --update-shards:

./vendor/bin/pest --update-shards

This runs all tests and records each test class's duration into tests/.pest/shards.json. You can also combine it with --parallel to speed things up:

./vendor/bin/pest --parallel --update-shards

Step 2: Commit tests/.pest/shards.json to your repository. This file is human-readable and looks like this:

{
    "timings": {
        "Tests\\Feature\\Payments\\StripeCheckoutTest": 1.608,
        "Tests\\Feature\\Reports\\SalesReportTest": 2.105,
        "Tests\\Unit\\Models\\UserTest": 0.050
    },
    "checksum": "...",
    "updated_at": "2026-04-14T10:30:00+00:00"
}

Step 3: When you run --shard and tests/.pest/shards.json exists, Pest automatically uses time-balanced distribution:

./vendor/bin/pest --shard=1/5

The output will indicate that time-balanced sharding is active:

Shard:    1 of 5 — 12 files ran, out of 50 (time-balanced).
v4.5.0

Announcement: x.com/enunomaduro/status/2042697927483609449

v4.4.6
  • chore: stores statically the test result for pao
v4.4.5
  • style changes
v4.4.4
  • style changes
v4.4.3

chore: bumps phpunit

v4.4.2

fix: App\Http not being allowed to be used on laravel providers (arch testing) fix: styling of stubs fix: test dir option when used on parallel

v3.8.6
  • fix: adjust styling with the latest pint version
v4.4.1
  • chore: missing tag
v4.4.0
  • feat: symfony 8 (and its components) support
v4.3.2
v4.3.1
  • fix: removes toHaveSuspiciousCharacters from php preset as it may require an extension that is not available
v4.3.0
v4.2.0
  • adds phpunit 12.5 support
  • uses checkout 6 on github actions
v4.1.6
  • support for symfony 8.0 components
v4.1.5
  • uses phpunit@12.4.4
v4.1.4
v4.1.3
  • uses phpunit@12.4.1
v4.1.2
  • uses phpunit@12.4
v4.1.1
  • Bumps requirements
v4.1.0

Browser Plugin:

  • Added ->from()->newYork() to set locale, timezone, and geolocation. Supports dozens of cities worldwide.
  • Added assertNoBrokenImages to check for broken images on pages.
  • Added withinFrame to test content inside iframes.
  • Added withUserAgent to customize the user agent.
  • New methods: resize, forward, back, waitForEvent, typeSlowly, rightClick, withKeyDown, and more.
v4.0.4
  • bumps phpunit version
v4.0.3
  • fix: prevent duplicate covers attributes
  • chore: uses phpunit 12.3.6
v4.0.2
  • fix: --coverage option causing out-of-memory exception
v4.0.1
  • fix: --testdox causing an runtime exception.
v4.0.0

Pest v4 is here — now with browser testing! ✨

Browser tests that feel like unit tests: Laravel-ready, Playwright-powered, parallel-fast, with smoke & visual regression built in.

Discover Pest v4 — and our new website: pestphp.com

v3.8.3
  • adds support for phpunit v11.5.33
v3.8.2
  • Fixes namespaced functions breaking arch testing
v3.8.1

fix: installation of pest on laravel's starter kits

v3.8.0
  • The --compact flag now hides type coverage for files exceeding 100%.
  • Added support for using * as a wildcard in architecture-related expectations.
  • Various bug fixes in architecture-related methods.

ad: youtube.com/watch?v=o6ZWWy_RQBw

v3.7.5
  • Bumps dependencies.
  • Fixes JunitXmlLoggerout of sync with PHPUnit.
v3.7.4
  • Adds --compact option to coverage
v3.7.3
  • Adds Laravel 12 support
v3.7.2
  • Bumps PHPUnit version.
v3.7.1
  • Bumps PHPUnit and Paratest versions
v3.7.0
  • Adds PHPUnit 11.5.0 support
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.
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge
l3aro/rating-star-for-filament
leek/filament-subtenant-scope
anil/file-picker
broqit/fields-ai