django - 与 factory boy 和 pytest 一起使用的自定义 faker 提供程序

标签 django python-3.x pytest faker factory-boy

我正在尝试添加一些自定义的 faker 提供程序以与 factory_boy 一起使用和 pytest .

我把提供者放在faker_providers/foo.py/Provider .

my factories.py文件,我必须导入 foo.py然后通过运行注册:

factory.Faker.add_provider(foo.Provider)

我正在考虑使用 pytest_sessionstart(session)自动注册 faker_providers 下的所有自定义提供程序.有没有办法做到这一点?

对于组织和注册自定义提供程序的其他方式的任何建议也将不胜感激。

最佳答案

这似乎是一种设计选择,只有您知道它的最佳答案。

但是,我建议实例化 faker = Faker()一次用于所有测试,然后添加所有 providers在一个配置文件中。并导入 faker从那个地方到任何需要它的地方。

好像 conftest.py 是一个不错的选择。

关于django - 与 factory boy 和 pytest 一起使用的自定义 faker 提供程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53014310/

相关文章:

python - Pytest:KeyError:WindowsPath ('D:/Local_Project_Directory/Lib/site-packages/matplotlib/testing/conftest.py')

python - 如何让 pytest 运行 doctests 以及正常的测试目录?

python - 使用 URL 路径或查询参数进行分页

regex - 如果用户在 Django 的表单字段中仅输入空格,捕获并显示错误的最佳方法是什么?

python - 在 Django 中使用推送器对用户进行身份验证

python - python中奇怪的作用域行为

django - 尝试使用 django 和 dropzone/

python - python 3.3.1连接mysql数据库密码错误

python - python 中的协程在 3.4 和 3.5 之间,如何保持向后兼容性?

python - 如何在pytest中将自定义部分添加到终端报告