Seeder

Run a specific seeder class during tests

Description: Runs a specific seeder class before a test. Requires the RefreshDatabase or LazilyRefreshDatabase trait.

Namespace: Illuminate\Foundation\Testing\Attributes\Seeder

Added in: Laravel 13.0

Usage

use Illuminate\Foundation\Testing\Attributes\Seeder;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase;
use Database\Seeders\OrderSeeder;

// Before:
$this->seed(OrderSeeder::class);

use Illuminate\Foundation\Testing\Attributes\Seeder;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase;
use Database\Seeders\OrderSeeder;

// After:
#[Seeder(OrderSeeder::class)]
class OrderTest extends TestCase
{
    use RefreshDatabase;

    public function test_orders_are_listed(): void
    {
        $response = $this->get('/orders');
        $response->assertOk();
    }
}