mpociot/laravel-test-factory-helper

Generate Laravel test factories from your existing models
643,689 929
Install
composer require mpociot/laravel-test-factory-helper
Latest Version:v2.1.0
PHP:^7.2.5
License:MIT
Last Updated:Jan 18, 2024
Links: GitHub  ·  Packagist
Maintainer: mpociot

Laravel Test Factory Generator

php artisan generate:model-factory

This package will generate factories from your existing models so you can get started with testing your Laravel application more quickly.

Example output

Migration and Model
Schema::create('users', function (Blueprint $table) {
    $table->increments('id');
    $table->string('name');
    $table->string('username');
    $table->string('email')->unique();
    $table->string('password', 60);
    $table->integer('company_id');
    $table->rememberToken();
    $table->timestamps();
});

class User extends Model {
    public function company()
    {
        return $this->belongsTo(Company::class);
    }
}
Factory Result
$factory->define(App\User::class, function (Faker\Generator $faker) {
    return [
        'name' => $faker->name,
        'username' => $faker->userName,
        'email' => $faker->safeEmail,
        'password' => bcrypt($faker->password),
        'company_id' => factory(App\Company::class),
        'remember_token' => Str::random(10),
    ];
});

Install

Require this package with composer using the following command:

composer require --dev mpociot/laravel-test-factory-helper

Usage

To generate multiple factories at once, run the artisan command:

php artisan generate:model-factory

This command will find all models within your application and create test factories. By default, this will not overwrite any existing model factories. You can force overwriting existing model factories by using the --force option.

To generate a factory for specific model or models, run the artisan command:

php artisan generate:model-factory User Team

By default, this command will search under the app folder for models. If your models are within a different folder, for example app/Models, you can specify this using --dir option. In this case, run the artisan command:

php artisan generate:model-factory --dir app/Models -- User Team

License

The Laravel Test Factory Helper is free software licensed under the MIT license.

Related Packages

talyssonoc/phactory-laravel

Use Phactory inside Laravel

16 2
thedoctor0/laravel-factory-generator

Automatically generate Laravel factories for your models.

1,176,300 213
rymanalu/factory-generator

Laravel 5 Model Factory Generator.

8,006 17
skovachev/fakefactory

A model factory package for Laravel 4 with expressive API for creating custom ta...

1,121 29
league/factory-muffin

The goal of this package is to enable the rapid creation of objects for the purp...

15,528,532 534