用途:在 Django 项目中落地测试驱动开发(TDD),覆盖模型、视图、序列化器和 Django REST Framework API 的测试编写,以及测试基础设施搭建。适用场景包括编写新 Django 应用、实现 DRF API、测试 Models/Views/Serializers、搭建测试框架时激活。
主要能力:基于 pytest-django 配置测试;使用 factory_boy 定义 UserFactory、CategoryFactory、ProductFactory 等工厂,支持 SubFactory、Faker、fuzzy 与 post_generation;以红-绿-重构循环编写失败测试、使其通过再重构;测试用户认证、产品创建、slug 生成、价格与库存校验、active 管理器;使用 APIClient 与 force_authenticate 测试 DRF 列表、检索、创建、更新、删除、过滤与搜索;用 unittest.mock 与 patch 模拟 Stripe 等外部支付服务;用 override_settings 与 locmem 邮件后端测试邮件;编写完整结账流程的集成测试。
使用方式:在 pytest.ini 中设置 DJANGO_SETTINGS_MODULE、testpaths、python_files 与 --reuse-db、--nomigrations、--cov 等 addopts;在 config/settings/test.py 中配置内存 SQLite、DisableMigrations、MD5PasswordHasher、控制台邮件后端及 Celery 同步执行;在 tests/conftest.py 定义 user、admin_user、authenticated_client、api_client、authenticated_api_client 等 fixture;在 tests/factories.py 定义工厂;随后按 test_models.py、test_views.py、test_serializers.py、test_api.py、test_integration.py 组织测试。
限制:资料未提供具体依赖版本、安装命令、覆盖率阈值或 CI 集成方式;示例中的 tag、category 等字段依赖项目自身模型。