如何在Odoo.sh构建阶段运行自定义模块测试用例?
在Odoo.sh构建阶段运行自定义模块测试用例的解决方案
规范测试文件结构
自定义模块的测试文件必须放在模块根目录的tests/文件夹下,文件名需以test_为前缀(例如test_customer.py)。测试类需继承Odoo官方测试基类,比如odoo.tests.common.TransactionCase或odoo.tests.common.SavepointCase,确保测试逻辑符合Odoo的执行规范。配置Odoo.sh构建脚本
在项目根目录创建或编辑.odoo.sh.yml文件,添加测试执行步骤:build: steps: - pip install -r requirements.txt - odoo-bin -c odoo.conf --test-enable --stop-after-init -d test_run_db -i your_custom_module --without-demo=all替换
your_custom_module为你的模块名称,test_run_db为临时测试数据库名,--without-demo=all用于排除演示数据对测试的干扰。确认依赖配置
若测试用例依赖其他Odoo模块,需在模块的__manifest__.py的depends列表中声明依赖项;若有Python第三方库依赖,要将其添加到项目根目录的requirements.txt中,确保构建阶段能自动安装。排查环境与权限问题
Odoo.sh构建环境是隔离的,测试用例中禁止访问系统文件、外部服务等非Odoo标准操作。避免使用硬编码路径或未授权的资源访问,保证测试逻辑的独立性。通过构建日志定位问题
如果测试仍未正常运行,登录Odoo.sh控制台查看构建阶段的详细日志,搜索test相关关键词,可快速定位模块未加载、测试语法错误、依赖缺失等具体问题。
内容的提问来源于stack exchange,提问作者Rathod Mohit
相关产品推荐
相关产品推荐

