如何用faker生成测试数据

101 阅读1分钟

在数据开发的过程中,开发测试环境常常苦于没有测试数据,用简单的随机字符串或者随机数组创建的测试数据又无法满足验证的要求,本文将以faker为例,提供具体的方法,生成看起来比较“真实”的测试数据。

生成测试数据的方法也比较简单,创建一个faker对象,直接调用相关方法即可,直接上代码。

from faker import Faker
# 设定生成随机内容的语言
f = Faker(locale='zh-CN')

# 随机生成邮箱
print(f.email())

# 随机生成名字
print(f.name())
print(f.name_female())
print(f.name_male())

# 随机生成地址
print(f.address())

# 随机生成公司
print(f.company())

# 随机生成部门/职位
print(f.job())

# 随机生成手机号
print(f.phone_number())

# 随机生成身份证号
print(f.ssn())

# 随机生成邮编
print(f.postcode())

# 随机生成日期
print(f.date())
print(f.date_of_birth())
print(f.date_this_decade())
print(f.date_this_year())
print(f.past_date())

# 随机生成日期时间
print(f.date_time())
print(f.date_time_this_year())
print(f.date_time_this_decade())
print(f.date_time_this_century())
print(f.past_datetime())

# 信用卡相关
print(f.credit_card_number())
print(f.credit_card_expire())
print(f.credit_card_security_code())

# 随机数(整数)
print(f.random_element())
print(f.random_int())
print(f.random_number())
print(f.pyint())

# 随机数(小数)
print(f.pydecimal(22))
print(f.pyfloat())
'''
关于pydecimal的参数说明:
    def pydecimal(
        self,
        left_digits=None,  # 整数部分精度
        right_digits=None, # 小数部分精度
        positive=False,    # 是否支持负值
        min_value=None,    # 最小值
        max_value=None,    # 最大值
    ):
'''

# 随机字符串
print(''.join(f.random_letters()))

# 随机url
print(f.uri())

# 随机串 MD5或sha256
print(f.md5())
print(f.sha256())

# 随机字符串(传参为字符串长度)
print(f.text(10))

# 随机uuid
print(f.uuid4())

# 时间
print(f.time())