diff --git a/http-tests.md b/http-tests.md
index 4f705ea3dd..1a23c3191a 100644
--- a/http-tests.md
+++ b/http-tests.md
@@ -12,6 +12,7 @@
- [Testing File Uploads](#testing-file-uploads)
- [Testing Views](#testing-views)
- [Rendering Blade and Components](#rendering-blade-and-components)
+- [Caching Routes](#caching-routes)
- [Available Assertions](#available-assertions)
- [Response Assertions](#response-assertions)
- [Authentication Assertions](#authentication-assertions)
@@ -938,6 +939,51 @@ $view = $this->component(Profile::class, ['name' => 'Taylor']);
$view->assertSee('Taylor');
```
+
+## Caching Routes
+
+Before a test runs, Laravel boots a fresh instance of the application, including collecting all defined routes. If your applications have many route files, you may wish to add the `Illuminate\Foundation\Testing\WithCachedRoutes` trait to your test cases. On tests which use this trait, routes are built once and stored in memory, meaning the route collection process is only run once for all tests in your suite:
+
+```php tab=Pest
+use(WithCachedRoutes::class);
+
+test('basic example', function () {
+ $this->get(action([UserController::class, 'index']));
+
+ // ...
+});
+```
+
+```php tab=PHPUnit
+get(action([UserController::class, 'index']));
+
+ // ...
+ }
+}
+```
+
## Available Assertions