Fake data
当测试程序需要数据时,可以通过faker来构造测试数据
安装
1 | $ pip install faker |
基本使用
1 | from faker import Faker |
对方法 faker.ipv4()的每次调用都会产生不同的随机结果
1 | for _ in range(10): |
提供的providers
faker.providers.addressfaker.providers.automotivefaker.providers.bankfaker.providers.barcodefaker.providers.colorfaker.providers.companyfaker.providers.credit_cardfaker.providers.currencyfaker.providers.date_timefaker.providers.emojifaker.providers.filefaker.providers.geofaker.providers.internetfaker.providers.isbnfaker.providers.jobfaker.providers.loremfaker.providers.miscfaker.providers.passportfaker.providers.personfaker.providers.phone_numberfaker.providers.profilefaker.providers.pythonfaker.providers.sbnfaker.providers.ssnfaker.providers.user_agent
创建自定义的provider
对于一个枚举类型,可以创建自定义的provider
1 | from enum import Enum |
构造数据
可以根据不同的列名,获取对应的provider_name,然后通过getattr(faker, provider_name)()调用后获取数据
例如
- 如果列名为src_ip或dst_ip,都调用ipv4()这个provider
- 如果列名为created_at或updated_at,都调用data_time_this_year()这个provider
1 | fake_provider_alias = { |