naoray / laravel-factory-prefill
使用 faker 方法建议填充工厂
Requires
- fzaninotto/faker: ~1.4
- illuminate/support: ^6.0|^7.0
- naoray/eloquent-model-analyzer: ^1.0
Requires (Dev)
- orchestra/testbench: ^4.0
README
该仓库已被存档!使用 Shift 的 Factory Generator 来利用 Laravel 8 的新类工厂。
工厂是一个很好的概念,我真的很喜欢用它来进行测试,但是手动编写每个需要的列名和相关 faker 方法真的很糟糕。该包旨在通过提供一个预填充工厂的命令来简化此过程!
使用 artisan cli 创建工厂后,你最终会得到以下内容
<?php use Faker\Generator as Faker; $factory->define(Model::class, function (Faker $faker) { return [ // ]; });
使用 laravel-factory-prefill
,你可以跳过之前的命令调用,直接执行 php artisan factory:prefill Habit
。
安装
composer require naoray/laravel-factory-prefill --dev
使用方法
在运行 php artisan migrate
之后,你就可以开始了。如果你想使 factory:prefill
命令注意到模型关系,你应该首先实现这些方法!
提示:如果你想自动加载关系,你必须在模型中定义这些方法。
填充所有工厂
要为所有模型生成工厂,请运行
php artisan factory:all
不同目录中的模型
要预填充 app/
目录之外的模型的工厂,只需添加 -P
标志并提供路径。
php artisan factory:all --path=Some/Other/Path
你也可以附加 --realpath
选项来指示给定的路径是一个预先解析的绝对路径。
填充单个工厂
要填充单个工厂,你可以运行 php artisan factory:prefill model_name
或 php artisan factory:all model_name
。
不同命名空间的模型
要预填充 App/
命名空间之外的模型的工厂,只需添加 -O
标志并在模型名称中提供完整路径。
php artisan factory:prefill "Some\Other\Namespace\ModelName" -O
可为空列
默认情况下,忽略 nullable
列。如果你想将 nullable
列也添加到你的工厂中,包括标志 -N
或 --allow-nullable
。
php artisan factory:prefill ModelName -N
或 php artisan factory:all -N
测试
使用以下命令运行测试
vendor/bin/phpunit
变更日志
请参阅 CHANGELOG 了解最近更改的更多信息。
贡献
请参阅贡献指南以获取详细信息。
安全
如果您发现任何与安全相关的问题,请发送电子邮件至krishan.koenig@googlemail.com,而不是使用问题跟踪器。
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。