Laravel Packages

Pest Route Testing Plugin for Laravel Applications

Published
Pest Route Testing Plugin for Laravel Applications image

The pest-plugin-route-testing for Pest helps you ensure your routes are okay in Laravel. This package has useful methods to filter down which routes to run, bind users to test routes, and more. The simplest example is testing all GET routes, which you can do with one method call:

use function Spatie\RouteTesting\routeTesting;
 
routeTesting('all GET routes')
->assertSuccessful();

All your application routes have high-level validation that returns a 200 status code. That's pretty neat!

Route Testing Plugin Features

  • Test specific routes with the include() method
  • Exclude routes from your test with the exclude() method
  • Route Model Binding support
  • Run custom code before route testing
  • Ignore skipped tests in the test result output

Here are a few more examples from the project's readme, illustrating how to use this plugin:

use function Spatie\RouteTesting\routeTesting;
 
// Filter routes to include
routeTesting('all blog routes')
->include('blog*', 'post*')
->assertSuccessful();
 
// Exclude some routes
routeTesting('all blog routes')
->exclude('admin*')
->assertSuccessful();
 
// Bind a user to test all routes
use App\Models\User;
 
routeTesting('all blog routes')
->bind('user', User::factory()->create())
->assertSuccessful();
 
// Run some code before
routeTesting('all admin routes')
->setUp(function ()
{
$user = User::factory()->create();
 
$this->actingAs($user);
 
// optionally, you could also bind the model
$this->bind('user', $user);
})
->include('admin*')
->assertSuccessful();

You can get started with this package on GitHub at spatie/pest-plugin-route-testing. To install it in your project, add it as a Composer dependency:

composer require spatie/pest-plugin-route-testing
Paul Redmond photo

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

Sponsored

masteringlaravel logo
Laravel Code Review

Get expert guidance in a few days with a Laravel code review

Visit Laravel Code Review

The latest

View all →
PhpStorm 2026.2 Released image

PhpStorm 2026.2 Released

Read article
Laravel Doctor: Diagnose Your App With One Artisan Command image

Laravel Doctor: Diagnose Your App With One Artisan Command

Read article
CPX: The Composer Package Executor for PHP image

CPX: The Composer Package Executor for PHP

Read article
Laravel AI SDK Adds Human-in-the-Loop Tool Approval image

Laravel AI SDK Adds Human-in-the-Loop Tool Approval

Read article
Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals image

Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals

Read article
Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs image

Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs

Read article