我正在使用factory_boy创建测试夹具。我有两个简单的工厂,由 SQLAlchemy 模型支持(简化如下)。
我希望能够AddressFactory.create()
多次调用,Country
如果它不存在则让它创建一个,否则我希望它重新使用现有记录。
class CountryFactory(factory.Factory):
FACTORY_FOR = Country
cc = "US"
name = "United States"
class AddressFactory(factory.Factory):
FACTORY_FOR = Address
name = "Joe User"
city = "Seven Mile Beach"
country = factory.SubFactory(CountryFactory, cc="KY", name="Cayman Islands")
我的问题是:如何设置这些工厂,以便 factory_boy 不会在每次创建地址时都尝试创建新国家?