码迷,mamicode.com
首页 > 其他好文 > 详细

如何生成测试数据

时间:2017-07-04 01:06:39      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:bsp   mod   factory   如何   没有   开发   代码   free   rate   

laravel有非常方便的方法生成测试用的数据,大概的流程是这样:

  1. 前提是我们的数据库已经配置好,并且生成了Model和数据表。
  2. artisan控制台生成一个seeder: php artisan make:seeder xxx(命名自定)
  3. 打开database/factories/ModelFactory.php写如何生产模型。
  4. 在创建的seeder中调用factory。
  5. 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

然后去检查你的数据库吧,测试数据已经生成了。

如何生成测试数据

标签:bsp   mod   factory   如何   没有   开发   代码   free   rate   

原文地址:http://www.cnblogs.com/Alex-sk/p/7113578.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!