odoo 14 python 单元测试步骤
- # odoo 14 python 单元测试步骤
- # 一.在模块根目录创建tests目录
- # 二.在tests目录下创建__init__.py文件
- # 三.继承TransactionCase(SingleTransactionCase、SavepointCase)类
- # 四.实现setUp(self, *args, **kwargs)方法
- # 五.以test_前缀为方法名,就是你的测试用例.
- # 在测试用例中调用self.assertEqual方法来断言你的测试用例是否成功执行
- # 六.TransactionCase、SingleTransactionCase、SavepointCase继承这三个不同的类,调用测试用例的情况都不一样
- # TransactionCase:
- # 1.每一个测试用例是在单独的事务中运行的。
- # 2.一旦测试用例方法运行成功,事务将自动回滚。
- # 3.setUp方法在每次自动调用我们测试用例前都会调用一次,也就是有多少个测试用例就调用多少次setUp。
- # SingleTransactionCase:
- # 1.所有测试用例都在同一个事务中执行。
- # 2.因此从一个测试用例中产生的数据可以在另一个测试用例中使用。
- # 3.事务从第一个测试用例开始,到最后一个测试用例结束时回滚。
- # SavepointCase:
- # 1.测试方法运行在回滚的保存点中,而不是将所有的测试用例都放在一个事务中。
- # 2.通过只生成一次测试数据来提高它们的速度。
- # 3.这里,需要使用setUpClass()方法来生成初始化测试数据。
- # 七.对测试类别进行标记.
- # 1.标记可以决定执行测试用例是在安装模块前还是在安装模块后执行。
- # 2.或者你还可以自定义标签。
- # 3.运行的时候你可以指定标记执行测试用例
- # 4.标准标记有:
- # standard(默认就有):默认会指定执行该标记的测试用例
- # at_install(默认就有):安装模块后立马执行测试用例
- # post_install:在所有模块安装完成后再执行测试用例
- # 5.删除默认标记:在标记前面加-减号就代表删除该默认标记
- # 八.运行测试用例:./odoo‐bin ‐c server.conf ‐i my_library ‐‐test‐tags=my_library
- # 例子:
- from odoo.tests.common import TransactionCase, tagged
- @tagged('-at_install', 'post_install')
- class TestBookState(TransactionCase):
- def setUp(self, *args, **kwargs):
- super(TestBookState, self).setUp(*args, **kwargs)
- self.test_book = self.env['library.book'].create({'name': 'Book 1'})
- def test_button_availabel(self):
- self.test_book.make_available()
- self.assertEqual(self.test_book.state, 'available', 'Book state should be changed to available')
- def test_button_lost(self):
- self.test_book.make_lost()
- self.assertEqual(self.test_book.state, 'lost', 'Book state should be changed to lost')
odoo 14 python 单元测试步骤的更多相关文章
- [译]PyUnit—Python单元测试框架(1)
1. 原文及参考资料 原文链接:http://docs.python.org/2/library/unittest.html# 参考文档: http://pyunit.sourceforge.net/ ...
- Python单元测试PyUnit框架轻度整改
原理 参考:单元测试原理 背景 年后有段时间没写代码了,所以趁着周末找了个python单元测试玩下,测试自己的Android应用.发现PyUnit虽然在单个脚本文件中添加多个测试用例,比如官网提供的方 ...
- python单元测试框架 pyunit
概况 系统要求 使用PyUnit构建自己的测试 安装 测试用例介绍 创建一个简单测试用例 复用设置代码:创建固件 包含多个测试方法的测试用例类 将测试用例聚合成测试套件 嵌套测试用例 测试代码的放置位 ...
- 【odoo14】odoo 14 Development Cookbook【目录篇】
网上已经有大佬翻译过odoo12并且在翻译odoo14了.各位着急的可以自行搜索下... 这本书是为了让自己从odoo12转odoo14学习.也是为了锻炼下自己... odoo 14 Developm ...
- Python单元测试框架unittest之深入学习
前言 前几篇文章该要地介绍了python单元测试框架unittest的使用,本篇文章系统介绍unittest框架. 一.unittest核心工作原理 unittest中最核心的四个概念是:test c ...
- python单元测试框架笔记
目录 单元测试概述 什么是单元测试 单元测试什么进行? 单元测试由谁负责? 单元测试需要注意 单元测试覆盖类型 python 单元测试框架 unittest pytest 测试框架 单元测试概述 什么 ...
- The Hacker's Guide To Python 单元测试
The Hacker's Guide To Python 单元测试 基本方式 python中提供了非常简单的单元测试方式,利用nose包中的nosetests命令可以实现简单的批量测试. 安装nose ...
- Python单元测试框架
目录 概况 系统要求 使用PyUnit构建自己的测试 安装 测试用例介绍 创建一个简单测试用例 复用设置代码:创建固件 包含多个测试方法的测试用例类 将测试用例聚合成测试套件 嵌套测试用例 测试代码的 ...
- 一种数据与逻辑分离的Python单元测试工具
一种数据与逻辑分离的Python单元测试工具 几个概念 TestCase TestCase是一个完整的测试单元,最小的测试执行实体,就是我们常说的测试用例. TestSuite 以某种特性将测试用例组 ...
随机推荐
- 没错,就是Access-Control-Allow-Origin,跨域
服务端添加: <add name="Access-Control-Allow-Origin" value="*" /><add name=&q ...
- 【Unity Shader学习笔记】Unity光照基础-漫反射光照
本代码只适用于平行光. 1.逐顶点漫反射光照 1.1漫反射光照原理 1.2代码实现 在Properties语义块中声明一个漫反射颜色属性 Properties { //漫反射参数,用于调整漫反射效果 ...
- Primal_Dual 原始对偶
不是费用流都需要用 SPFA 吗. 众所周知,SPFA 去世了,然后网络流显然有负边.于是我们可以像 Johnson 全源最短路一样,给边加上势能,具体实现看我之前的 博客 啦. 然后对于每一次跑 D ...
- WC2019
好题啊! 数树 \(\text{opt = 0, 6 pts.}\) 显然答案为 \(y^{n-|E_1∩E_2|}\) . \(\text{opt = 1, 47 pts.}\) \[\sum_{E ...
- hash和history路由的区别
在了解路由模式前,我们先看下 什么是单页面应用,vue-router 的实现原理是怎样的,这样更容易理解路由. SPA与前端路由 SPA(单页面应用,全程为:Single-page Web appl ...
- 功耗优化之Sensor功耗分析
功耗优化之Sensor功耗分析 一.Sensor功耗问题分类 二.Sensor功耗问题分析方法 SSC子系统引起系统无法进入AOSD问题分析: SSC子系统频繁唤醒AP问题分析方法 SSC子系统的GP ...
- 联发科 (MTK) sensor bring up
MT6768平台 1.添加驱动文件 2.添加硬件配置支持 3.添加硬件配置 4.添加编译配置 5.分配空间(非必要,当代码量超过当前空间大小时将会报错,根据报错log改大小即可.) 6.兼容配置 7. ...
- AT32F415 修改时钟和晶振方法(原创)
1. 简介 我们几乎是国内第一批使用AT32F415芯片的客户,那个时候芯片还没涨价,岁月一切静好.使用AT32F415 做了几个小产品,也在持续出货.后来大家都知道,涨价缺货愈演愈烈.好在我们提前囤 ...
- Java 多线程共享模型之管程(下)
共享模型之管程 wait.notify wait.notify 原理 Owner 线程发现条件不满足,调用 wait 方法,即可进入 WaitSet 变为 WAITING 状态 BLOCKED 和 W ...
- JVM学习笔记-从底层了解程序运行(一)
1:JVM基础知识 什么是JVM 1. java虚拟机,跨语言的平台,实现java跨平台 2. 可以实现多种语言跨平台,只要该语言可以编译成.class文件 3. 解释执行.class文件 java是 ...