News

PEST PHP now includes higher-order expectations, Ray debugging integration, and more!

Published
PEST PHP now includes higher-order expectations, Ray debugging integration, and more! image

The community around the Pest PHP testing framework has added some new excellent features, including higher-order expectations, ray() debugging integration, and a VS Code snippets extension for Pest PHP.

Higher Order Expectations

Luke Downing and Sam Rowden contributed higher order expectations API, which allows you to create expectations on methods and properties.

Here’s that before and after code based on the screenshot above:

// Before
expect($user->first_name)->toEqual('Nuno');
expect($user->last_name)->toEqual('Maduro');
expect($user->withTitle('Mr'))->toEqual('Mr Nuno Maduro');
 
// After
expect($user)
->first_name->toEqual('Nuno')
->last_name->toEqual('Maduro')
->withTitle('Mr')->toEqual('Mr Nuno Maduro');

This feature also works with array data as well:

expect(['name' => 'Nuno', 'companies' => ['Pest', 'Laravel']])
->name->toEqual('Nuno')
->companies->toHaveCount(2)->each->toBeString

Check out the Expectations documentation for complete examples and information around expectations in PEST.

Use Ray App On Any Expectation

Freek Van der Herten contributed a ray() function to PEST PHP expectations, which can help you easily debug expectations via the Ray app (paid) by changing calls to ray():

Here’s a snippet of what using the ray() function looks like:

expect($users)->toHaveCount(2)->each->ray();

Check out the ray() expectations documentation to learn more.

Pest Snippets for VS Code

dansysanalyst (Dan Ang.) released a Pest snippets extension extension for writing Pest PHP tests in Visual Studio Code:

For a complete list of snippets, check out the Pest Snippets - Visual Studio Marketplace page.

More Resources

If you’d like to get started with Pest PHP, be sure to check out the following resources:

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

acquaintsoft logo
Acquaint Softtech

Hire Laravel developers with AI expertise at $20/hr. Get started in 48 hours.

Visit Acquaint Softtech

The latest

View all →
Building EasyReply: How We Used Laravel to Unify Customer Support image

Building EasyReply: How We Used Laravel to Unify Customer Support

Read article
PostgreSQL Monitoring and Schema Linting for Laravel with Vacuum image

PostgreSQL Monitoring and Schema Linting for Laravel with Vacuum

Read article
PayZephyr: One Payment API for Stripe, Paystack, and PayPal image

PayZephyr: One Payment API for Stripe, Paystack, and PayPal

Read article
Bifrost Turns One With AI Builds and New Workflows image

Bifrost Turns One With AI Builds and New Workflows

Read article
Preview Blade Templates in macOS Finder with Quick Blade image

Preview Blade Templates in macOS Finder with Quick Blade

Read article
Artisan Debugging Commands in Laravel Telescope 5.24.0 image

Artisan Debugging Commands in Laravel Telescope 5.24.0

Read article