Odoo | Unittest | 单元测试


前言:
- 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

注:

  1. 当配置文件 test_enable = True 后,每次重启都会自动执行所有测试脚本
  2. 当配置文件 test_enable = True 后,可以对未安装模块进行安装,但无法对已安装模块进行升级
  3. 当我们安装完应用启动服务时,可以查看测试脚本的执行情况,但当环境正常使用时,最好将test_enable参数设置为False

Odoo12版本
待维护
Odoo14版本
待维护

如何不升级直接执行ODOO自动化测试脚本?

已实现!
在这里插入图片描述

成品

在这里插入图片描述

详细后面再加。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

比特本特

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值