Odoo 自动化测试:写跑测一体化

解决 Odoo 开发效率痛点:本技能引导你使用 Python unittest 框架及 Odoo 内置的 TransactionCase、HttpCase 类,快速搭建测试数据、执行断言验证并集成到 CI 流程,覆盖业务逻辑、控制器接口及浏览器 tours 测试。

为什么需要这个技能

Odoo 拥有原生 Python unittest 测试框架,但新手往往忽略或写不好用例。本技能教你利用 TransactionCase 进行高性能单元测试,用 HttpCase 验证控制器端点,以及运行浏览器 tour 测试。这能确保自定义模型、业务逻辑及数据流转的稳定性,是编写高质量 Add-on 的必修课。

适用场景

  • 需要为你的自定义模型(Model)编写符合规范的单元测试。
  • 验证控制器(Controller)端点的 HTTP 响应状态码与跳转逻辑。
  • 在 CI/CD 流水线中自动运行测试,避免将不稳定的代码推送到生产库。
  • 调试测试失败案例,通过数据准备(Setup)和清理(Teardown)隔离测试环境。

核心工作流

  1. 激活技能:提及 @odoo-automated-tests 并描述待测试的功能模块。
  2. 生成代码:AI 将输出包含 setUpClass、断言及环境配置的完整 Python 测试类。
  3. 执行测试:获取精确的 odoo-bin CLI 命令行参数,执行本地或远程测试。

最佳实践与陷阱

  • Do:优先使用 setUpClass(Odoo 15+)而非 setUp,利用类级别的 cls.env 共享数据,大幅提升运行速度。
  • Do:测试快乐路径(Happy Path)与异常路径(如 ValidationError)。
  • Do:使用 @tagged('post_install', '-at_install') 装饰器,确保测试在安装完所有模块后运行。
  • Don’t:使用生产数据库进行测试,务必使用专用测试库。
  • Don’t:硬编码用户密码,利用 self.env.user 或 Fixture 用户。

下载和安装

下载 odoo-automated-tests 中文版 Skill ZIP

你可能还需要

暂无推荐