Faker Providers使用及自定義開發

2021-02-16 開源優測

前面兩篇文章,一篇介紹了利用Python原生生成測試數據基於Python生成中文測試數據,一篇介紹了Faker庫生成測試數據基於Faker生成中文測試數據實例, 本文介紹基於Faker Providers生成測試數據的實例。

Providers介紹

每一個生成器屬性(例如name、address、lorem等等)都被稱為"fake",faker生成器有很多這樣的組件,它們都被打包在"Providers"中。

先看一個簡單的實例

# -*- coding: utf-8 -*-
__author__ = "苦葉子"
"""
faker providers基本實例
"""
from faker import Faker

# 從providers中導入internet組件
from faker.providers import internet


if __name__ == "__main__":
fake = Faker("zh_CN")

# 添加provider組件
fake.add_provider(internet)

# 生成一個私有的ip
ip = fake.ipv4_private()

print(ip)

運行結果如下

下圖為fake內置的providers組件,連結為:https://faker.readthedocs.io/en/stable/providers.html

下圖為第三方貢獻的開源的providers組件,連結為:https://faker.readthedocs.io/en/stable/communityproviders.html

下面看看如何創建一個自己的Provider,直接看代碼實例

# -*- coding: utf-8 -*-
__author__ = "苦葉子"
"""
實現一個簡單的faker provider
"""
from faker import Faker


# 導入provider基類,我們的provider需要繼承該類
from faker.providers import BaseProvider


# 創建一個我們的provider
class MyProvider(BaseProvider):
def my_name(self):
return "DeepTest"
if __name__ == "__main__":
print("使用自定義Provider實例")

fake = Faker('zh_CN')

# 將自定義provider添加至fake
fake.add_provider(MyProvider)

# 調用自定義provider中方法,生成數據
my_name = fake.my_name()

print(my_name)

運行結果

是不是很簡單?

我們可以根據實際業務需要,來自定義自己的provider,從而能滿足測試過程中特定數據的生成需要。

相關焦點

  • 別再造假數據了,來試試 Faker 這個庫吧!
    點擊上方「濤哥聊Python」,選擇「星標」公眾號重磅乾貨,第一時間送達本文轉載自:進擊的Coder在做程序開發的時候,我們經常會用到一些測試數據,相信大多數同學是這麼來造測試數據的:test1test01test02測試1測試2測試數據1這是一段測試文本
  • 自定義Widget的實現和使用方法
    前言前面已經通過三個篇幅向大家介紹了Flutter原生提供的常用Widget和其使用方法,實際開發中我們會遇到一些特殊的需求或者規範一些常用的Widget
  • 開發自定義ROM提速:紅米Note 6 Pro等Android Pie內核原始碼上線
    部分手機的Android Pie自定義ROM開發工作將大大提速。今天,適用於諾基亞5.1 Plus,諾基亞6.1 Plus,諾基亞7.1,紅米Note 6 Pro和LG G7(ThinQ和One)的Android Pie內核原始碼已經正式上線。
  • 手把手,帶你使用SweetAlert製作漂亮的自定義Alert窗口
    1.14 使用SweetAlert製作漂亮的自定義Alert窗口 [iOS開發中的神兵利器]1. 本節課將為您演示一款非常強大的警告窗口。首先打開瀏覽器並進入當前頁面,然後點擊下載按鈕,下載所需的第三方的類庫。
  • 如果只論個人能力,uzi和faker哪個更強?faker真急了!
    如果只論個人能力,uzi和faker哪個更強?faker真急了!個人實力誰強由於位置不一樣,不太好比較,Faker對中路的對線影響是很大的,巔峰時期的Faker基本是引領版本,很多中路英雄是他開發的,是中路逾越不了的山,和巔峰期的Faker對線,你不能失誤,他可以,他可以死到0-3然後再擊敗你,確實是中路的神。
  • 如何在QQ界面使用自定義圖片
    相信有不少朋友熱衷於體驗不同的QQ皮膚,但有的朋友已經對騰訊的官方皮膚感到厭倦,或者限於會員門欄不能使用心儀的皮膚,既然如此,何不使用自己挑選的圖片作為界麵皮膚呢,小編今天為各位簡述一下使用自定義圖片作為界面及聊天背景的方法。
  • web前端需要了解自定義CSS屬性
    在本帖中,我們將介紹自定義的CSS屬性,說明為什麼要使用它們,如何定義它們,以及如何在不使用JavaScript的情況下更改它們。如今,前端開發人員擁有大量工具,可以幫助他們創建和編輯CSS。其中一個工具是預處理器,使用預處理器的主要好處之一是能夠在您的樣式中使用變量。這樣就不用複製和粘貼了,這樣就更容易重構了。在使用預處理器變量時,開發人員傾向於使用顏色、字體大小、布局細節等來定義它們,這一切都很好,但是預處理器變量有一些限制:無法通過JavaScript操作。
  • LCK女主播大方表白FAKER,粉絲紛紛去給faker留言機不可失!
    而今年的比賽結束不久,LPL賽區的美女主持就採訪了一位LCK賽區的新晉美女主持人,而這名韓國的美女主持人叫:樸智宣,兩位主持人在這次的採訪中相互認識介紹,並且成為了好朋友,在這次的採訪過程中,樸智宣大膽的向我們的大魔王faker表白!
  • skt:clozer out faker in! 消費?
    這兩天關於lck的事,最多的skt把faker按在替補席,而且上場之後隊友突然就像演員一樣,各種離奇操作.faker替補這對粉絲其實還好可以接受的,畢竟培養新人嘛,神畢竟也是人嘛.但是別搞人心態呀對不對.香鍋也當過替補,如果faker像香鍋一樣用在關鍵局,起到臨危救主的作用,這樣的話粉絲更沒話說
  • faker過生日的時候是什麼樣子呢?faker:開了,先打完遊戲在說!
    而當輪到了faker過生日!這也faker唯一的幾段生日影像之一。讓我們就來看看faker有什麼反應吧!這是15年的場景,當時金正勳教練把蛋糕放到faker面前時,給他唱起了生日歌的時候。faker還有點摸不著頭腦,估計是把生日都給忘掉了!最後還是力宏哥提醒,他才想起來吹蠟燭。最後faker吹滅了蠟燭,然後一副很糾結的樣子。是停下來切蛋糕呢?還是打完接下來的比賽。
  • 基於Faker生成中文測試數據實例
    上一篇 基於Python生成中文測試數據 講解了如何使用python代碼自己實現中文測試數據的生成,這篇我們分享如何基於Faker
  • 國外網友熱議Faker成T1股東:Faker 掙錢滴神!
    比如Ghostayame(前光環3職業選手)也是Apex電競化開發團隊的人員。 [-]AvgToxicLeaguePlayer many streamers told us on air (This is their word) they make more from streaming than being like a B+/A- pro player.
  • faker報被單殺七次之仇後!表情亮了!網友:faker到底是有多記仇?
    我們知道faker在排位裡有時候表現不好,那是因為他亂玩!而只要faker認真起來,絕對是每局都能carry的!不過排位裡faker目前為止最羞愧的一件事是,被一位北美路人王單殺了七次!你說單殺一兩次還在情理之中,而faker被徹底羞辱了一把,要知道這是faker呀!什麼時候吃過這虧。而也許是緣分faker和這位路人王又在排位裡遇到了!究竟結果如何呢?結果faker真的是結結實實的教訓了這位路人王,全程路人王都被faker傑斯壓制,而且還被單殺一次。最後路人王基地被推平的時候,faker大笑了起來。看表情真的是可以做表情包了!
  • faker的亞索怎麼了是什麼梗 faker的亞索意思出處由來介紹
    faker的亞索是什麼梗,faker的亞索是什麼意思。大家都知道,faker直播的時候是個大浪逼。好好的非要浪。faker啥中單都會就是不會亞索,因為浪著浪著就進人堆了,回不來了。  近日,大魔王Faker轉到了國外的某直播平臺,直播風格也漸漸地變得幽默風趣。
  • 什麼是自定義單據?|管理分享
    員工工作中什麼是自定義單據?總體來說就是用戶可以在系統內自定義單據欄位和系統顯示的效果,並且在啟用自定義單據之後可以保存並顯示自己自定義的內容。中小企業運營業務多而廣,單據的格式就更加複雜多樣化,因此很多進銷存開發商開發了【自定義單據】服務程序,來滿足企業多變的業務需求。企業業務單據劃分很多,例如採購單據、銷售單據、財務單據等,而銷售單據又包括銷售單、銷售訂單等,所以有自定義單據功能就能幫助企業對自身業務的管理延伸精細度,大幅減少管理費用的浪費。那麼進銷存ERP軟體【自定義單據】的功能有哪些呢?
  • Faker毒舌調侃Score的獎盃,壞弟弟Faker?你見過玩梗的李哥嗎?
    faker在直播中變成了壞弟弟,吐槽Score,faker:我之前看到Score在亞運會採訪中後面的獎盃四個獎盃有三個都是KT.flash的獎盃,不光如此,後面還有觀眾問faker之前東彬哥受傷時你是幫東彬哥拿行李還是拿拐杖,他說弟弟們有幫忙拿!
  • LOL:Faker七進七出戲耍王者,火影級阿卡麗只能在SKT打替補!
    阿卡麗韓服改動已經完成,離群之刺-阿卡麗當然這個稱號是國服的翻譯,faker把迷霧的特性利用的很完美,幾乎每一把都在越塔殺人,而且不怎麼抗防禦塔傷害,只要你迅速回到迷糊防禦塔判定是打不到你的。克烈擁有兩條命,很少有英雄在越克烈的塔,可faker就做到了,不光越塔還把克烈在塔下秀的一臉懵逼,完全都看不懂faker的傷害。
  • 《戰地5》武器自定義圖片曝光 瞄準鏡、皮膚有豐富選擇
    0《戰地5》中將有豐富的自定義系統,今日國外玩家在Twitter上曝光了《戰地5》的武器自定義圖片,從中可以提前一窺《戰地5》的武器自定義細節。 下圖展示了一把突擊步槍瞄準鏡的自定義系統,圖片左上角提供了多種不同的瞄準鏡可供玩家裝備。
  • 他曾把faker阻擋在S賽門外,如今再次橫插一腳阻止faker奪冠!
    這一刻值得所有LPL粉絲慶祝,但相信大家一定很想知道到底是誰不僅在這次洲際賽上阻止了faker奪冠,還曾經將faker阻擋在S賽門外!這個男人當然就是IG老牌中單rookie。rookie來到LPL之前曾在KT原先的A隊效力,當年也就是他帶領的KT戰隊拿到了KT首座OGN冠軍寶座,同時也牢牢地將faker阻擋在了S4的門外,本以為能看到剛出道便是S賽冠軍加身的faker在S4亮眼發揮,沒想到被被rookie狠狠地摁在了地上。