Laravel 工厂助手命令
发布时间 作者 Paul Redmond
由 Marcel Pociot 开发的 Laravel 工厂助手包可以帮助您从现有模型生成 Laravel 测试工厂。
该包附带的命令可以帮助您更快地开始测试应用程序,因为它会在创建的工厂中使用 Faker 优化设置测试数据(与 `make:factory` 生成的空工厂相反)。此外,它还足够智能,可以理解模型关联并生成必要的工厂代码。
如自述文件所述,假设以下模型
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->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)->create()->id, 'remember_token' => Str::random(10), ];});
相关:通过工厂状态深入了解工厂
如果您想快速演示一下该包如何加速在 Laravel 中创建测试工厂,请查看 Jason McCreary 的视频,他在视频中演示了对该包进行的一些 最新改进
自视频制作以来,Jason 的拉取请求已合并,因此演示的所有内容都可以在该包的最新版本中使用。
您可以在 GitHub 上的 mpociot/laravel-test-factory-helper 上了解更多有关该包的信息,获取完整的安装说明并查看源代码。