Odoo 自动化测试:写跑测一体化
解决 Odoo 开发效率痛点:本技能引导你使用 Python unittest 框架及 Odoo 内置的 TransactionCase、HttpCase 类,快速搭建测试数据、执行断言验证并集成到 CI 流程,覆盖业务逻辑、控制器接口及浏览器 tours 测试。
为什么需要这个技能
Odoo 拥有原生 Python unittest 测试框架,但新手往往忽略或写不好用例。本技能教你利用 TransactionCase 进行高性能单元测试,用 HttpCase 验证控制器端点,以及运行浏览器 tour 测试。这能确保自定义模型、业务逻辑及数据流转的稳定性,是编写高质量 Add-on 的必修课。
适用场景
- 需要为你的自定义模型(Model)编写符合规范的单元测试。
- 验证控制器(Controller)端点的 HTTP 响应状态码与跳转逻辑。
- 在 CI/CD 流水线中自动运行测试,避免将不稳定的代码推送到生产库。
- 调试测试失败案例,通过数据准备(Setup)和清理(Teardown)隔离测试环境。
核心工作流
- 激活技能:提及
@odoo-automated-tests并描述待测试的功能模块。 - 生成代码:AI 将输出包含
setUpClass、断言及环境配置的完整 Python 测试类。 - 执行测试:获取精确的
odoo-binCLI 命令行参数,执行本地或远程测试。
最佳实践与陷阱
- ✅ 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
你可能还需要
暂无推荐