有没有关于如何用Python编写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

我使用DTO在应用程序中的不同层/类之间通信数据。所以在测试这些类的过程中,我不得不用一些虚拟数据手动创建这些数据类的对象,这对我来说是一个严重的痛点。任何关于自动化这些东西的建议,如factoryboy for Django模型。

我有一个用户DTO,如下所示

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的序列化程序如何?我认为它们也会做同样的事情,并提供验证方法。