gpt4 book ai didi

python - 如何使用来自 Factory_boy 的 Faker

转载 作者:太空狗 更新时间:2023-10-29 17:17:11 27 4
gpt4 key购买 nike

Factory_boy 使用 fake-factory (Faker) 生成随机值,我想在我的 Django 测试中直接使用 Faker 生成一些随机值。

Factory_boy 文档建议使用 factory.Faker 及其提供者:

class RandomUserFactory(factory.Factory):
class Meta:
model = models.User

first_name = factory.Faker('first_name')

但这不会生成任何名称:

>>> import factory
>>> factory.Faker('name')
<factory.faker.Faker object at 0x7f1807bf5278>
>>> type(factory.Faker('name'))
<class 'factory.faker.Faker'>

factory_boy faker.pyfactory.Faker('ean', length=10) 调用 faker.Faker。 ean(length=10) 但是 Faker 文档说它应该显示一个名字:

from faker import Faker
fake = Faker()
fake.name()
# 'Lucy Cechtelar'

有没有其他方法可以使用 Faker 而不是直接从 Faker 设置实例?

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

最佳答案

你可以像这样将 faker 与 factory_boy 一起使用:

class RandomUserFactory(factory.Factory):
class Meta:
model = models.User

first_name = factory.Faker('first_name')

user = RandomUserFactory()

print user.first_name
# 'Emily'

所以你需要用 factory_boy 实例化一个用户,它会为你调用 Faker。

我不知道你是否想在 Django 中使用它,但是如果你想让工厂将创建的用户保存到数据库中,那么你需要扩展 factory.django.DjangoModelFactory 而不是 factory.Factory。

关于python - 如何使用来自 Factory_boy 的 Faker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38687492/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com