文章目录
前言:
- Odoo的测试功能,支持在创建数据库时勾选Demo选项的库中进行。
- 换言之,自动化测试不是让正式环境跑的,是让测试环境再预加载Demo数据的情况下,执行测试用例集,看看最近的修改有没有影响以前的功能,如果影响了,测试用例就会出错。
Odoo10版本
1. 首先配置文件 odoo.conf 中必须开启测试功能:
test_enable = True
2. 在你的模块中添加测试文件(结构)
# 目录结构
Γ-Your moduel
|----...
|----models
|----tests
|------__init__.py
|------test_common_function.py
|----...
3. 导入测试文件
# 1. 在最外层__init__.py文件中导入tests
import tests
# 2. 在tests文件下的__init__.py文件中导入测试用例文件 test_common_function
from . import test_common_function
4. test_common_function.py文件内容
# -*- coding:utf-8 -*-
from odoo.tests.common import TransactionCase
class SomethingTestCase(TransactionCase):
at_install = False # 安装当前模块后立刻执行这个测试脚本 默认是True
post_install = True # 当前安装模块集全部安装完后在执行这个测试脚本 默认是False
# 起始方法 初始化各种默认值与环境 供test方法使用
def setUp(self):
super(TestHrCommon, self).setUp()
self.user_obj = self.env['res.users']
self.name = "小明"
default_employee_id = self.env['hr.employee'].search([],limit=1)
# 必须以test开头 否则不会被执行
def test_a11212_a1111111(self):
default_user_id = self.user_obj.search([],limit=1)
def testa11212_a1111111(self):
pass
def atesta11212_a1111111(self):# 这个不会被执行
pass
注:
- 当配置文件 test_enable = True 后,每次重启都会自动执行所有测试脚本
- 当配置文件 test_enable = True 后,可以对未安装模块进行安装,但无法对已安装模块进行升级
- 当我们安装完应用启动服务时,可以查看测试脚本的执行情况,但当环境正常使用时,最好将test_enable参数设置为False
Odoo12版本
待维护
Odoo14版本
待维护
如何不升级直接执行ODOO自动化测试脚本?
已实现!
成品
详细后面再加。