Faker--一種測試數(shù)據(jù)生成工具

簡介

Faker一款基于Python的測試數(shù)據(jù)生成工具,無論是用于初始化數(shù)據(jù)庫,創(chuàng)建XML文件又官,或是生成壓測數(shù)據(jù)左驾,F(xiàn)aker都是不錯的選擇镣隶。

使用方法

使用pip安裝:

pip install Faker

使用faker.Factory.create()創(chuàng)造并初始化faker生成器,faker生成器可以通過訪問按所需數(shù)據(jù)類型命名的屬性來生成數(shù)據(jù)什荣。

from faker import Factory
fake = Factory.create()
fake.name()
fake.address()
fake.text()

方法fake.name()的每次調(diào)用都會產(chǎn)生不同的(隨機)結(jié)果矾缓。這是因為faker向faker.Generator.method_name()調(diào)用了faker.Generator.format(method_name)。

for _ in range(10):
  print(fake.name())
---------------------------------------------------------------
C:\Python27\python.exe "D:/Python Projects/paydayloan/aaa.py"
Leslie Mckinney
Thomas White
Anna Mcdowell
William Allen MD
Kelly House
Mrs. Yolanda Myers
Whitney Richard
Erika Davis
Ethan Harper
Monique Terry

本地化

faker可以同時指定所在區(qū)域與語言生成你想要的測試數(shù)據(jù)稻爬,如:

from faker import Factory
fake = Factory.create('zh_CN')
for _ in range(10):
    print(fake.name())
--------------------------------------------------------------
C:\Python27\python.exe "D:/Python Projects/paydayloan/aaa.py"
卜林
苗桂英
童柳
歸婷
藺春梅
屠淑珍
滕桂花
延健
陸丹
田玉珍

命令行使用方法

如果不想寫代碼嗜闻,也可直接通過命令行來生成數(shù)據(jù),把生成的數(shù)據(jù)復(fù)制粘貼即可:

faker [-h] [--version] [-o output]
      [-l {bg_BG,cs_CZ,...,zh_CN,zh_TW}]
      [-r REPEAT] [-s SEP]
      [-i {module.containing.custom_provider othermodule.containing.custom_provider}]
      [fake] [fake argument [fake argument ...]]

faker: is the script when installed in your environment, in development you could use python -m faker instead
-h, --help: shows a help message
--version: shows the program's version number
-o FILENAME: redirects the output to the specified filename
-l {bg_BG,cs_CZ,...,zh_CN,zh_TW}: allows use of a localized provider
-r REPEAT: will generate a specified number of outputs
-s SEP: will generate the specified separator after each generated output
-i {my.custom_provider other.custom_provider} list of additional custom providers to use. Note that is the import path of the module containing your Provider class, not the custom Provider class itself.
fake: is the name of the fake to generate an output for, such as name, address, or text
[fake argument ...]: optional arguments to pass to the fake (e.g. the profile fake takes an optional list of comma separated field names as the first argument)

例如

[root@localhost ~]# faker address
29763 Bailey Unions Suite 613
Wayneville, OH 64319-6008

[root@localhost ~]# faker -l zh_CN name
卞云

[root@localhost ~]# faker -r=3 -s=";" name
Latasha Copeland;
Luis Nguyen;
Carlos Macdonald;

引用外部的provider

每個屬性的生成器(如:'name', 'address', 'lorem') 都有各自的provider桅锄,faker可以引用外部的provider來豐富所生成的數(shù)據(jù)琉雳。

from faker import Faker
fake = Faker()

# 首先import provider
from faker.providers import BaseProvider

# 創(chuàng)建一個新的類
class MyProvider(BaseProvider):
    def foo(self):
        return 'bar'

#把新provider加到fake實例中
fake.add_provider(MyProvider)

# 使用新provider:
fake.foo()
> 'bar'

Faker中還有許多其他方法沒有在這里提及到, 可以自行查看其文檔。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末友瘤,一起剝皮案震驚了整個濱河市翠肘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌辫秧,老刑警劉巖束倍,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異盟戏,居然都是意外死亡绪妹,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進店門柿究,熙熙樓的掌柜王于貴愁眉苦臉地迎上來邮旷,“玉大人,你說我怎么就攤上這事蝇摸∩艏纾” “怎么了?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵貌夕,是天一觀的道長律歼。 經(jīng)常有香客問我,道長蜂嗽,這世上最難降的妖魔是什么苗膝? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上辱揭,老公的妹妹穿的比我還像新娘离唐。我一直安慰自己,他們只是感情好问窃,可當我...
    茶點故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布亥鬓。 她就那樣靜靜地躺著,像睡著了一般域庇。 火紅的嫁衣襯著肌膚如雪嵌戈。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天听皿,我揣著相機與錄音熟呛,去河邊找鬼。 笑死尉姨,一個胖子當著我的面吹牛庵朝,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播又厉,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼九府,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了覆致?” 一聲冷哼從身側(cè)響起侄旬,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎煌妈,沒想到半個月后儡羔,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡璧诵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年笔链,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片腮猖。...
    茶點故事閱讀 38,673評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖赞枕,靈堂內(nèi)的尸體忽然破棺而出澈缺,到底是詐尸還是另有隱情,我是刑警寧澤炕婶,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布姐赡,位于F島的核電站,受9級特大地震影響柠掂,放射性物質(zhì)發(fā)生泄漏项滑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一涯贞、第九天 我趴在偏房一處隱蔽的房頂上張望枪狂。 院中可真熱鬧危喉,春花似錦、人聲如沸州疾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽严蓖。三九已至薄嫡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間颗胡,已是汗流浹背毫深。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留毒姨,地道東北人哑蔫。 一個月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像手素,于是被迫代替她去往敵國和親鸳址。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,562評論 2 349

推薦閱讀更多精彩內(nèi)容