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 以某种特性将测试用例组 ...
随机推荐
- C# WPF后台动态添加控件(经典)
概述 在Winform中从后台添加控件相对比较容易,但是在WPF中,我们知道界面是通过XAML编写的,如何把后台写好的控件动态添加到前台呢?本节举例介绍这个问题. 这里要用到UniformGrid布局 ...
- .net6.0 中一个接口多个实现的服务注册与注入
1.现有一个数据库操作接口 如下 它有两个数据操作实现 Sqlserver 和MySql的数据库操作实现类 现在我们需要 将这个两个类 注册到MVC中 注意这里注册的服务类型都是 IDataBas ...
- 分布式机器学习:PageRank算法的并行化实现(PySpark)
1. PageRank的两种串行迭代求解算法 我们在博客<数值分析:幂迭代和PageRank算法(Numpy实现)>算法中提到过用幂法求解PageRank. 给定有向图 我们可以写出其马尔 ...
- 【抬杠C#】如何实现接口的base调用
背景 在三年前发布的C#8.0中有一项重要的改进叫做接口默认实现,从此以后,接口中定义的方法可以包含方法体了,即默认实现.不过对于接口的默认实现,其实现类或者子接口在重写这个方法的时候不能对其进行ba ...
- Java 基础常见知识点&面试题总结(中),2022 最新版!| JavaGuide
你好,我是 Guide.秋招即将到来,我对 JavaGuide 的内容进行了重构完善,公众号同步一下最新更新,希望能够帮助你. 上篇:Java 基础常见知识点&面试题总结(上),2022 最新 ...
- 技术分享 | 一步一步学测试平台开发-Vue restful请求
本文节选自霍格沃兹测试学院内部教材 一般在构建应用时需要访问后端的 API 接口获取后端数据并展示.做这件事的方法有很多种(比如 axios,vue-resource,fetch-jsonp),使用 ...
- php为图片添加水印
<?php /** * 图片加水印(适用于png/jpg/gif格式) * * @author flynetcn * * @param $srcImg 原图片 * @param $waterIm ...
- Typora图片与阿里云OSS图床的结合之旅
图床? 专门用于存放图片,并允许用户通过独一的外链进行特定图片资源的访问 为什么是阿里云OSS(Object Storage Service) 码云开源需要审核,已经不能作为免费的图床使用(2022年 ...
- 关于使用koa 跨域问题你可能会遇到
var cors = require('koa2-cors');// 跨域const allowOrigins = ["http://localhost:8080" // 需要跨域 ...
- 整理orcal常用sql语句
1.表插入列 alter table XMJ_ONE add column1 NUMBER(38) default 0;comment on column XMJ_ONE.column1 is '字段 ...