mpociot/laravel-test-factory-helper

Generate Laravel test factories from your existing models
641,349 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,104,800 213
cydrickn/laravel-query-factory

Query Factory use for easily mock your query builder without sending query from...

13 3
coderello/laravel-populated-factory

An easy way to generate populated factories.

23,046 245
rymanalu/factory-generator

Laravel 5 Model Factory Generator.

8,006 17