我想创建我自己的客户 Faker 提供商。
我正在使用factory-boy,它已经包含了Faker,所以在我的测试工厂中我使用UserFactory
name = factory.Faker('name')
我的问题是,我可以以某种方式实现我自己的自定义提供程序吗?那么我可以使用
factory.Faker('my_provider')
吗?或者为此我必须交换所有factory.Faker() 实例并只使用Faker() 实例?
您可以继承
BaseProvider
类并定义您的自定义函数。
之后您可以将其添加到 Faker
库的 factory
类中。
import factory
from faker import providers
class HelloWorldProvider(providers.BaseProvider):
"""Use provider to generate `hello world`."""
def hello_world(self) -> str:
"""Say hello to the world"""
return "hello world"
factory.Faker.add_provider(HelloWorldProvider)
print(factory.Faker('hello_world'))