SKILL

django-tdd

Django 测试策略,包括 pytest-django、TDD 方法、factory_boy、模拟、覆盖率以及测试 Django REST Framework API。

适用对象:软件开发与测试。自动收录 · 待核查。

原作者说明节选

从固定版本的 SKILL.md 提取,保留原文语言。以下内容属于作者说明,本站尚未验证安装、兼容或运行结果。

查看中文原文

原文涵盖的主题

  • 使用 TDD 进行 Django 测试
  • 何时激活
  • Django 的 TDD 工作流
  • 红-绿-重构循环
  • 设置
  • pytest 配置
  • 测试设置
  • conftest.py

使用 pytest、factory\boy 和 Django REST Framework 进行 Django 应用程序的测试驱动开发。 编写新的 Django 应用程序时 实现 Django REST Framework API 时 测试 Django 模型、视图和序列化器时 为 Django 项目设置测试基础设施时 使用工厂:而不是手动创建对象 每个测试一个断言:保持测试聚焦 描述性测试名称:testusercannotdeleteotherspost 测试边界情况:空输入、None 值、边界条件 模拟外部服务:不要依赖外部 API 使用夹具:消除重复 测试权限:确保授权有效 保持测试快速:使用 --reuse-db 和 --nomigrations 不要测试 Django 内部:相信 Django 能正常工作 不要测试第三方代码:相信库能正常工作 不要忽略失败的测试:所有测试必须通过 不要让测试产生依赖:测试应该能以任何顺序运行 不要过度模拟:只模拟外部依赖 不要测试私有方法:测试公共接口 不要使用生产数据库:始终使用测试数据库 | 组件 | 目标覆盖率 | |-----------|-----------------| | 模型 | 90%+ | | 序列化器 | 85%+ | | 视图 | 80%+ | | 服务 | 90%+ | | 工具 | 80%+ | | 总体 | 80%+ | | 模式 | 用途 | |---------|-------| | @pytest.mark.djangodb | 启用数据库访问 | | client | Django 测试客户端 | | apiclient | DRF API 客户端 | | factory.createbatch(n) | 创建多个对象 | | patch('module.function') | 模拟外部依赖 | | overridesettings | 临时更改设置 | | forceauthenticate() | 在测试中绕过身份验证 | | assertRedirects | 检查重定向 | | assertTemplateUsed | 验证模板使用 | | mail.outbox | 检查已发送的邮件 | 记住:测试即文档。好的测试解释了你的代码应如何工作。保持测试简单、可读和可维护。

来源仓库
affaan-m/ECC
源文件
docs/zh-CN/skills/django-tdd/SKILL.md
固定版本
d2ef2680594f9a17526a6e1a2e18b3d242c5d17b
阅读完整原作者说明 ↗

来源与内容状态

本条为自动发现的元数据,尚未完成人工文档核查;适用性与运行结果待核查。

原作者:affaan-m/ECC · 原作者仓库元数据。文档核查:未核查。最近来源检查:2026-11-09T14:01:50.335Z。

分类由名称、说明与路径规则生成,分类不代表已核实适配。

许可与权利归属

MIT。第三方内容及版权归原作者,使用条件以原文为准。

许可原文 ↗

本站没有因同步、复制或用户自报成功而将资源标为运行验证通过。

限制与注意事项

  • 元数据收录不代表本站已经安装、适配、实测或进行安全审查。