互联网中软件开发和测试过程中,有时候需要一些测试数据。针对这种需求,我们通常的做法是使用现有的系统数据或者手动随意制造一些数据。但是由于现在的互联网飞速发展,业务系统越来越复杂,数据也越来越多样。如再手动去制造数据,不仅需要花费大量精力,还容易出错,而且制造的数据很假。本文推荐造数据神器python开源库Faker,此Faker不是lol天才选手大魔王Faker,但是也是一样给力。
场景
假如需要一批用户的三要素(例如:姓名、手机号和身份证)、或需要一批银行卡数据、一批地址通讯录等等。一般情况下,为了偷懒快捷也好,我们制造的测试数据可能是类似此类:
1 | 测试, 1300000 000123456 |
在测试过程中数据包括了大量的“测试xx”等等字眼,通常都是随手在键盘上一顿乱敲制造的毫无意义的假数据。
但是你看这些数据。不仅需要自己手动敲哪怕是胡乱随机敲的,而且数据还假的不能再假。既浪费时间和人力,数据的价值也不高。手工制造的数据还无法保障真的能够和业务场景中的数据一致,例如uuid、MD5、SHA等加密类数据等。为了帮助解决这个普遍场景的问题,提供一种解决方案或思路,Python的造数据利器:Faker库可以帮到你。
介绍
Faker是一个Python的一个开源库。主要用途:制造伪数据。使用Faker库,无需再手写随机来生成数据,只需调用Faker库的方法即可完成数据的生成。
安装
使用 pip 方式安装
1 | pip install Faker |
或者去Faker的PyPI页面下载Wheel或者Source文件进行安装:
基本用法
1 | from faker import Faker |
1. 导入Faker这个类。
2. 实例化,保存到变量fake中。
3. 调用name()方法随机生成一个名字。
4. 调用address()方法随机生成地址信息。
默认是英文数据,如果需要造其他语言的数据,可以使用 locale参数,例如:
1 | from faker import Faker |
其他语种或地区的数据,我们可以传入相应的地区值:
1 | ar_EG - Arabic (Egypt) |
常用方法
1 | #地理信息类 |
可以用dir(fake)方法,来查看Faker库可以制造哪些数据。目前Faker支持近300种数据,还支持自行扩展。而我们只需要创造fake对象后调用不同的方法即可。
总结
通过上面的了解,Faker真的是造数据的神器,值得你去好好学习下,让它真正成为你手动的利器。