如何生成测试数据

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

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

时间: 2024-10-09 21:10:18

如何生成测试数据的相关文章

Python生成测试数据

本文出自:http://blog.csdn.net/svitter 生成1~10的随机数1000个: import random fp = open("test", 'w'); for i in range(1, 1000): a = random.randint(1,10) fp.write(str(a)+"\n"); fp.close(); 注意:写入文件的不会在最后写入,而是重新写文件. Python生成测试数据,布布扣,bubuko.com

db:seed 更好的生成测试数据

make:model -m -> 在database/migrations/目录下生成的table表中设置表的字段名和字段类型->在app/目录下对应的模型文件中设置可添加字段 ->运行命令php artisan migrate 生成数据表 ->运行命令make:seed  生成seed表 存在database/seeds/目录下->在seed文件中写入要哪个数据表生成多少条测试数据 就跟在命令行自动生成测试数据的方法一样->然后在database/seeds/Data

Powerdesigner中如何生成测试数据

设计表完成以后,我们需要生成一些测试数据,可以直接更新到数据库中,下面我们就来试试: 第一步:建立需要的Profiles测试文件,[Model]--[Test Data Profiles],如图所示: 第二步:则打开属性窗口,如图所示,下面要进行详细的介绍了 选择不同数据来源,则Detail选项卡是不一样的, 数据类型有三种:NUMBER,Character,DATA三种类型,因为一般情况下数据类型也只有这三种类型. 数据来源有四种: Automatic 自动生成测试数据: List 利用测试数

mysql 动态sql 生成测试数据

#create testtable CREATE TABLE `testtable` (   `id` int(11) NOT NULL,   `createdTime` datetime DEFAULT NULL,   `login` text,   `testid` varchar(63) DEFAULT NULL,   PRIMARY KEY (`id`) ) PARTITION BY RANGE (TO_DAYS(createdTime)) (   PARTITION p01 VALUE

网上论坛生成测试数据方法(抢分利器)

在网上回复问题时,生成测试数据是必不可少的 1.在master系统库生成存储过程方法 USE master go IF object_id('SP_Script') is not null drop proc SP_Script go /**************************************************************************************************** %%存儲過程名:SP_Script %%參數:@s 分拆符串

SQL Server中生成测试数据

原文:SQL Server中生成测试数据 简介      在实际的开发过程中.很多情况下我们都需要在数据库中插入大量测试数据来对程序的功能进行测试.而生成的测试数据往往需要符合特定规则.虽然可以自己写一段程序来进行插入数据,但每一个项目就写一个插入数据的程序并不明智.本文主要介绍使用VS2010的数据生成计划在SQL Server中生成测试数据.   生成测试数据的方法      1.手动编辑           在开发过程中,非常少量的数据可以手动插入.这个方法的缺点可想而知-.插入100条数

pt-online-schema-change 测试使用-包含生成测试数据

pt-online-schema-change 测试使用-包含生成测试数据 # 参考网址: https://www.2cto.com/database/201703/618280.html 一.简要描述 1.mysql创建测试表 drop table IF EXISTS t_user; CREATE TABLE `t_user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `age` t

Python:随机生成测试数据的模块--faker的基本使用

本文内容: faker的介绍 faker的使用 小例子:生成随机的数据表信息 首发日期:2018-06-15 faker介绍: faker是python的一个第三方模块,是一个github上的开源项目. 主要用来创建一些测试用的随机数据. 官方文档:https://faker.readthedocs.io/en/master/index.html faker的使用: 1.安装模块 pip3 install Faker [使用faker也能识别成功,不过新版已经更新为Faker] 2.导入模块 f

生成测试数据的提示和技巧

每个人都知道测试是一个产生和消耗大量数据的过程.测试中使用的数据描述了测试的初始条件,并代表测试人员通过其影响软件的介质.它是大多数功能测试的关键部分.但实际上测试数据是什么?为什么用它?也许你会想知道'设计测试用例足够具有挑战性,然后为什么要像测试数据一样烦恼'本教程的目的是向您介绍测试数据,它的重要性,并提供快速生成测试数据的实用技巧和窍门.那么,让我们开始吧!什么是测试数据?它为什么如此重要?测试数据实际上是给予软件程序的输入.它表示影响或受特定模块执行影响的数据.一些数据可用于正测试,通