首页 > 代码库 > 如何生成测试数据
如何生成测试数据
laravel有非常方便的方法生成测试用的数据,大概的流程是这样:
- 前提是我们的数据库已经配置好,并且生成了Model和数据表。
- artisan控制台生成一个seeder: php artisan make:seeder xxx(命名自定)
- 打开database/factories/ModelFactory.php写如何生产模型。
- 在创建的seeder中调用factory。
- artisan控制台:php artisan migrate --seed
Why? 为什么要这样生成测试数据?
答:在开发中,数据库没有导入真正的数据时 我们需要使用一些测试数据去测试我们的项目。
这样生成有什么好处?
答:很便捷,不用我们手写测试数据,节省了大量的时间。
步入正题 如何写这些代码?
1、artisan控制台输入命令来创建一个seeder:
php artisan make:seeder Lessons_table_seeder
输入好后 这个seeder就在 database/seeds 文件夹中。
2、在database/factories/ModelFactory.php文件中编写生成数据的逻辑:
$factory->define(App\Lesson::class, function (Faker\Generator $faker) { return [ ‘title‘ => $faker->sentence, ‘body‘ => $faker->paragraph, ‘free‘ => $faker->boolean() ]; });
3、打开刚刚创建的seeder,调用factory:
public function run() { factory(\App\Lesson::class, 20)->create(); }
create方法中你可以自己设置一些属性。
在DatabaseSeeder.php中调用这个seeder:
public function run() { Model::unguard(); $this->call(‘Lessons_table_seeder‘); Model::reguard(); }
4、artisan控制台中输入:
php artisan migrate --seed
然后去检查你的数据库吧,测试数据已经生成了。
如何生成测试数据
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。