有没有关于如何用Python编写DTO工厂的建议
我使用DTO在应用程序中的不同层/类之间通信数据。所以在测试这些类的过程中,我不得不用一些虚拟数据手动创建这些数据类的对象,这对我来说是一个严重的痛点。任何关于自动化这些东西的建议,如factoryboy for Django模型。我有一个用户DTO,如下所示有没有关于如何用Python编写DTO工厂的建议,python,python-3.x,factory,fixtures,python-dataclasses,Python,Python 3.x,Factory,Fixtures,Python Dataclasses,我使用DTO在应用程序中的不同层/类之间通信数据。所以在测试这些类的过程中,我不得不用一些虚拟数据手动创建这些数据类的对象,这对我来说是一个严重的痛点。任何关于自动化这些东西的建议,如factoryboy for Django模型。我有一个用户DTO,如下所示 import dataclasses @dataclasses.dataclass class UserDetailsDto: user_id: int user_name: str profile_pic: st
import dataclasses
@dataclasses.dataclass
class UserDetailsDto:
user_id: int
user_name: str
profile_pic: str
is_admin: bool
为了这个DTO,我写了一个这样的工厂
import factory
import factory.fuzzy
class UserDetailsDtoFactory(factory.Factory):
class Meta:
model = UserDetailsDto
user_id = factory.sequence(lambda n: n)
user_name = factory.sequence(lambda n: 'Username-%s' % n)
profile_pic = factory.sequence(lambda n: 'Dummy Profile Pic %s' % n)
is_admin = factory.Iterator([True, False])
我成功地使用了这种方法。
你也可以试试这个。
希望这对您有所帮助。我已经使用FactoryBoy实现了这一目的。DRF的序列化程序如何?我认为它们也会做同样的事情,并提供验证方法。