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 以某种特性将测试用例组 ...
随机推荐
- Java高并发-概念
一.为什么需要并行 业务要求 http处理多个客户端请求 java虚拟机启动多个线程 进程开销比线程大的多 性能 多线程在多核系统比单线程要好的多 摩尔定律失效 二.几个重要概念 2.1 同步和异步 ...
- Java实现数据库增删改查
代码示例: import java.sql.*; public class Renewal { // 创建类static Connection con; // 声明Connection对象static ...
- df-查看磁盘目录空间大小
查看磁盘分区挂载情况. 语法 df [option] 选项 -T 显示文件系统类型. -h 带单位显示. 示例 [root@localhost ~]# df -Th Filesystem Type S ...
- ACM 刷题记录
HDU Multi-University Training Contest 题目来源 题目 知识点 时间复杂度 完成情况 2019 Contest8 A Acesrc and Cube Hyperne ...
- Linux namespace技术应用实践--调用宿主机命令(tcpdump/ip/ps/top)检查docker容器网络、进程状态
背景 最近偶然听了几堂极客时间的云原生免费公开课程,首次接触到了Linux namespace技术,并了解到这正是现在风头正劲的容器技术基石,引起了自己探究一二的兴趣,结合课程+网络搜索+实践操作,也 ...
- Vben Admin 源码学习:项目初始化
0x00 前言 Vue-Vben-Admin 是一个免费开源的中后台模版.使用了最新的vue3,vite2,TypeScript等主流技术开发,开箱即用的中后台前端解决方案考. 本系列本着学习参考的目 ...
- Acwing 1927 自动补全(知识点:hash,二分,排序)
读完题目第一想法是trie树 ,不过好像没怎么做过trie树的题,看y总给的知识点是二分排序,所以就有了如下思路: 但是但是,看完其他题解之后才坚定了我的想法,原来真的是这样排序,暴力啊! 具体步骤 ...
- 十二张图:从0开始理解对称/非对称加密、CA认证、以及K8S各组件颁发证书原由
目录 一.对称加密 二.对称加密-不安全 三.非对称加密 四.非对称加密-不安全 五.对称加密和非对称加密结合 六.对称加密和非对称加密结合-不安全 七.Https的做法-引入CA机构 八.乘胜追击理 ...
- Windows下MySQL的安装和删除
Windows下MySQL的安装和删除 安装Mysql 1 下载mysql 地址 2 安装教程 2.1配置环境变量 变量名:MYSQL_HOME 变量值:D:\software\programming ...
- VisionPro · C# · 卸载相机
在项目程序关闭前,需要将之前链接上的相机全部卸载,否则,关闭程序将出现弹窗报错. 解决报错,卸载相机代码如下: using System; using System.Windows.Forms; us ...