测试过程中有时候需要生成大量的假数据,faker 是一个生成假数据的类库,可以生成姓名,电话,IP地址,密码,ISBN等等你能想到的或者你想不到的各种类型的假数据。

Yii2.0已经集成该类库,不用再下载了。

以Yii2.0 Basic版为例

1. config\console.php 中添加一条配置信息

'controllerMap' => [
'fixture' => [
'class' => 'yii\faker\FixtureController',
],
],

注意顶部,定义test测试目录的位置的代码。

Yii::setAlias('@tests', dirname(__DIR__) . '/tests');

2. 创建生成假信息的模版文件

在test目录下面依次新建unit/templates/fixtures目录

然后在fixtures目录下新建users.php文件。内容如下:

// users.php file under template path (by default @tests/unit/templates/fixtures)
/**
* @var $faker \Faker\Generator
* @var $index integer
*/
return [
'name' => $faker->firstName,
'phone' => $faker->phoneNumber,
'city' => $faker->city,
'password' => Yii::$app->getSecurity()->generatePasswordHash('password_' . $index),
'auth_key' => Yii::$app->getSecurity()->generateRandomString(),
'intro' => $faker->sentence(7, true), // generate a sentence with 7 words
];

3. 打开命令行,执行生成假记录命令

php yii fixture/generate users

生成的假数据位于tests\unit\fixtures\data\users.php

打开如下,有了假数据内容,剩下的就好办了 :)

<?php

return [
[
'name' => 'Dawn',
'phone' => '1-931-080-3527x751',
'city' => 'Schinnerberg',
'password' => '$2y$13$ax7ubTMdQoUBkAdQfgW38uPD3Lp9C/X7XfdfSMFl8L1N90PpdXQoK',
'auth_key' => 'zmk_N4ZX_kOgu72iiWvPFZDUHEhQGYsg',
'intro' => 'Adipisci nostrum et autem molestias odio.',
],
[
'name' => 'Hubert',
'phone' => '1-618-327-3265x917',
'city' => 'Auerstad',
'password' => '$2y$13$gSjD/GJZiuPQdjB5FXyf0.fZCD9Jm6KquYRFyoaU6fgT3HHHiRa/q',
'auth_key' => 'zAVYEriQJJF16DtwwzesVM84gA1UhxFK',
'intro' => 'Maiores voluptas possimus nihil nesciunt qui commodi maiores qui.',
],
];

Yii2 使用 faker 生成假数据的更多相关文章

  1. Yii2 使用 faker 生成假数据(转)

    测试过程中有时候需要生成大量的假数据,faker 是一个生成假数据的类库,可以生成姓名,电话,IP地址,密码,ISBN等等你能想到的或者你想不到的各种类型的假数据. Yii2.0已经集成该类库,不用再 ...

  2. Flask实战-留言板-使用Faker生成虚拟数据

    使用Faker生成虚拟数据 创建虚拟数据是编写Web程序时的常见需求.在简单的场景下,我们可以手动创建一些虚拟数据,但更方便的选择是使用第三方库实现.流行的python虚拟数据生成工具有Mimesis ...

  3. mock.js模拟生成假数据

    mock使用方法很简单, 下面是简单的用法, 详细的用法可以看官方文档, 写的很清楚, 下面的代码直接拷贝到本地html文件, 双击打开即可生成你想要的数据 <!DOCTYPE html> ...

  4. laravel Faker-1.faker假数据

    1. 安装 composer require fzaninotto/faker --dev 2. 创建 migrations 参考:laravel文档 3. 定义ModelFactory 说明: 默认 ...

  5. faker生成器生成虚拟数据的Python模块

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:行哥 今天给大家介绍一个Faker模块,一款基于Python的测试数 ...

  6. Python_faker (伪装者)创建假数据

    faker (伪装者)创建假数据 工作中,有时候我们需要伪造一些假数据,如何使用 Python 伪造这些看起来一点也不假的假数据呢? Python 有一个包叫 Faker,使用它可以轻易地伪造姓名.地 ...

  7. Faker——生成测试数据的PHP类库

    工作上用的是TP框架,每次测试功能的时候都要手动添加测试数据,词穷起名总是起一些test1.test2这种low到爆炸的用户名,这让我很难受.稍微翻阅了一些资料,发现laravel有一个生成测试数据的 ...

  8. 如何在vue-cli项目中结合mockjs模拟假数据

    1.前言 在如今前后端分离的开发方式已被广泛采用的今天,前端同学和后端同学各自独立开发,后端提供数据接口,前端调用接口获取数据渲染页面.但是在实际开发中,后端开发由于逻辑相对复杂接口迟迟提供不到位,而 ...

  9. flask实战-个人博客-数据库-生成虚拟数据 --

    3.生成虚拟数据 为了方便编写程序前台和后台功能,我们在创建数据库模型后就编写生成虚拟数据的函数. 1)管理员 用于生成虚拟管理员信息的fake_admin()函数如下所示: personalBlog ...

随机推荐

  1. vim在插入模式粘贴代码缩进问题解决方法

    转载自:https://blog.csdn.net/commshare/article/details/6215088 在vim粘贴代码会出现缩进问题,原因在于vim在代码粘贴时会自动缩进 解决方法: ...

  2. C++内存总结——开坑,随时总结添加

    C++内存区域分为:  程序代码区:存储程序代码的地方 栈区:编译器自动管理(分配释放)的内存区域,如函数参数,函数中的局部变量 堆区(又称动态存储区):由C语言中的函数malloc和free和C++ ...

  3. hctf2018wp复现

    1.bottle 登陆网站后存在提交url的地方 测试发生存在如下paload,知识点:1.crlf 2.写一个网站开发的端口小于80,浏览器就不会跳转能执行js(payload只能在火狐浏览器执行) ...

  4. mixup: Beyond Empirical Risk Minimization

    这篇论文MIT和FAIR的工作,主要是提出了一种mixup的方式.(感觉是一种产生hard sample的方法,是一种新的.更有效的数据增强.) 1 Introduction 大网络需要大数据,目前C ...

  5. Android 代码集装箱

    1. 一个APP下载升级的Demo(通知栏实时更新下载进度)------(一) 2.一个APP下载升级的Demo(通知栏实时更新下载进度)------(二) 3.APK包名修改

  6. Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:5

    jsp页面出现如下异常: Stacktrace: at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServle ...

  7. 【CSS3基础-Flex布局】

    关于Flex 背景 在flex布局出现以前,常用的水平和垂直居中对齐方式有很多.flex布局的出现基本规范了这一过程. 通过justify-content和align-items两个属性即解决了水平居 ...

  8. JS知识点整理(一)

    前言 本文把平时的一些读书笔记和理解进行了整理归纳,包含一些易混淆.遗漏的知识点,也会配上一些例子,可能不是很完整,还会有点杂,但也许会有你需要的(目前先整理了一部分,笔记有点多,后续会持续更新). ...

  9. mysql 常用的时间日期函数小结

    本文主要是总结一些常用的在实际运用中常用的一些mysql时间日期以及转换的函数 1.now()  :返回当前日期和时间 select now(); //2018-04-21 09:19:21 2.cu ...

  10. docker tar 镜像 容器相互转换

    学习 使用 docker 也有一段时间了 但是在基础去上面有些东西总是容易忘记 整理之前看到的文档,看到一个问题 怎么将一个容器导出成为tar,我本以为是首先 保存成为镜像 再 save 进行保存 查 ...