SuperAPI AI 工具集

django-tdd

编程与开发

查看项目

更新于 10-15 21:08

技能介绍

用途:该技能面向 Django 应用的测试驱动开发,适用于编写新 Django 应用、实现 DRF API、测试模型/视图/序列化器,以及搭建 Django 项目的测试基础设施。核心是红-绿-重构循环:先写失败测试,再让测试通过,最后在测试保持通过的前提下重构。

主要能力:pytest.ini 配置(DJANGO_SETTINGS_MODULE、testpaths、python_files、python_classes、python_functions、--reuse-db、--nomigrations、--cov 等);独立测试设置(内存 SQLite、禁用迁移、快速密码哈希、控制台邮件后端、Celery 同步执行);conftest.py 夹具(user、admin_user、authenticated_client、api_client、authenticated_api_client);factory_boy 工厂(UserFactory、CategoryFactory、ProductFactory,含 fuzzy 与 post_generation 标签);模型测试(创建、字符串表示、slug、价格校验、管理器、库存管理);视图测试(列表、详情、登录要求、POST 创建);DRF 序列化器测试(序列化/反序列化、价格与库存校验);API ViewSet 测试(列表、详情、未授权创建、授权创建、更新、删除、价格过滤、搜索);以及用 unittest.mock 的 patch 对外部支付服务进行模拟。

使用方式:安装 pytest、pytest-django、factory_boy、pytest-cov 等测试依赖,按资料配置 pytest.ini 与 config/settings/test.py,在 tests/conftest.py 放置夹具,在 tests/factories.py 定义工厂,然后以 pytest 运行测试。资料未给出具体安装命令,暂未提供。

适用场景:Django 与 DRF 项目的单元测试、接口测试和测试驱动开发教学。

限制:资料为较长代码示例,未提供版本要求、真实依赖安装步骤、性能数据或收费信息,这些暂未提供;示例中的模型、字段、URL 命名与业务逻辑需按实际项目调整。