📡 You're offline — showing cached content
New version available!
Quick Access
Tutorials PHPUnit Testing Faker for Test Data

Faker for Test Data

5 min read
Generate realistic test data with FakerPHP for names, emails, and complex domain objects.

Faker for Test Data

composer require --dev fakerphp/faker

use Faker\Factory as Faker;

class UserRepositoryTest extends TestCase {
    private function makeUser(array $overrides = []): array {
        $faker = Faker::create();
        return array_merge([
            "name"  => $faker->name(),
            "email" => $faker->unique()->safeEmail(),
            "age"   => $faker->numberBetween(18, 80),
        ], $overrides);
    }

    public function testCreateUser(): void {
        $data = $this->makeUser(["email"=>"fixed@test.com"]);
        $user = (new UserRepository($this->db))->create($data);
        $this->assertEquals("fixed@test.com", $user->email);
    }
}