Django 测试金字塔:pytest-django + factory_boy 的高效组合
一、分层思路
单元测试:纯函数、服务层;快而多。
集成测试:ORM、视图、序列化器;覆盖核心路径。
端到端:关键用户流(登录→下单),数量少但稳定。
二、工具搭配
pytest-django 提供数据库夹具、事务隔离。
factory_boy 构造可读数据;faker 生成多样值。
``` import factory from app.models import User
class UserFactory(factory.django.DjangoModelFactory): class Meta: model = User email = factory.Faker("email")
```
三、可维护性
测试数据“贴近现实”;避免“万能工厂”。
慢测与易碎测用标记隔离;CI 分层执行。
把“脚手架 + 模板”标准化后,新模块的测试开发速度能明显提升,我在 gplpal 的工程模板里也这么做。
评论 0