能否为项目中所有ModelFactory统一配置随机种子?
Polyfactory全局控制随机种子方案
官方文档仅提及为单个ModelFactory设置__random_seed__参数指定随机种子,示例如下:
class PersonFactory(DataclassFactory[Person]): __random_seed__ = 1
如果项目包含上百个工厂模型,无需逐个手动设置,你可以创建一个基础工厂基类,将__random_seed__配置在基类中,其余所有工厂都继承这个基类即可实现全局控制:
示例代码:
# 定义基础工厂,全局设置随机种子 class BaseFactory(DataclassFactory): __random_seed__ = 42 # 其他工厂直接继承BaseFactory,无需单独设置种子 class PersonFactory(BaseFactory[Person]): pass class OrderFactory(BaseFactory[Order]): pass class ProductFactory(BaseFactory[Product]): pass
所有继承自BaseFactory的子工厂会共享同一个随机种子,后续若需修改种子,仅需调整基类的__random_seed__值,无需逐个修改子工厂。
内容的提问来源于stack exchange,提问作者kmalarski
相关产品推荐
相关产品推荐

