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 developer joy. Write expressive, modern tests with a clean syntax, powerful expectations, and a great DX for PHP projects—built for fast feedback and readable suites.

View on GitHub
Deep Wiki
Context7
v4.7.5
  • fix: escape generated test case filename (thanks @luuhung1217)
  • chore: upgrade github actions commits
v3.8.7
  • fix: escape generated test case filename (thanks @luuhung1217)
  • chore: pin github actions to commits
v4.7.4
  • fix: internal plugin runtime exception
  • chore: bumps actions/checkout from 6.0.3 to 7.0.0
v4.7.3
  • fix: improve dd output on parallel testing
  • fix: gitlab url not being possible to change
  • fix: team city output being duplicated
v4.7.2
  • fix: pao dealing with pest's fatal errors
v4.7.1
  • fix: improve reporting fatal exceptions
  • chore: various security improvements
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.
codraw/framework-extra-bundle
codraw/messenger
codraw/security
codraw/mailer
codraw/contracts
codraw/profiling
codraw/dependency-injection
codraw/tester
codraw/core
nexmo/api-specification
capell-app/block-library
axium/identity
cetria/laravel-dummy-models
cetria/reflection-helper
agropredict/sso-auth-bundle
evolvestudio/spam-protection
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony