- 上传者: Administrator
- 上传时间:2024年02月24日 06时40分05秒
Python Testing** Keeping in mind the growth of large-scale applications, including robotics experiments, it is the right way to work on the unwavering ......
- In your module, define a test subpackage.
- All test files in the Tests subpackage must start with the string test_.
- All tests should be in tests/__init__.py
- All tests must extend the Odoo test case class.
- All test methods must start with def test_
- Enabling --test-enable when starting the Odoo server. It runs tests after module installation or update.
- Using --test-file <file >, it will runs a python test file
- Using --test-tags [-][tag][/module][:class][.method]
Python Testing
Keeping in mind the growth of large-scale applications, including robotics experiments, it is the right way to work on the unwavering quality of modules. This will harden the module. Odoo consistently releases alternative forms of products, and robotized experiments are very helpful in detecting application fallbacks that may have been caused by redesigning customizations. Fortunately, each Odoo structure comes with various mechanized test programs. Odoo comes with three basic types of tests included.
Adding Python Test Cases
Test file structure
Structure of test case:
Here, the tests/__init__.py contains
from . import test_book
Extend an Odoo test case class
Odoo provides many utilities and helpers for testing. Odoo mainly contains test case classes. Each of these classes must be extended when writing test cases in Odoo.
● odoo.tests.common.SingleTransactionCase
A test case where all test methods are executed in the same transaction. Transactions are started in the first test method and rolled back at the end of the last test method.
● odoo.tests.common.TransactionCase
This is the most commonly used test case class. A test class where all test methods run in one transaction, but each test method runs in a subtransaction managed by a savepoint. Cursors in a transaction are always closed without committing
● odoo.tests.common.SavepointCase
Transactional HTTP test case with url_open and headless helpers for Chrome.
● odoo.tests.common.HttpCase
Extending one of these classes would result in code like this:
# -*- coding: utf-8 -*-
from odoo.tests import common
class TestBook(common.TransactionCase):
All test files must start with test_
E.g., test_book.py
All test methods must start with test_
E.g.,
from odoo.tests import common
class TestBook(common.TransactionCase):
def test_string_concatenation_and_length(self):
Writing A Test- Example
from odoo.tests import common
class TestBook(common.TransactionCase):
def test_string_concatenation_and_length(self):
book = self.env['book.book'].create({'name': 'War
and Peace',
'author ': 'Leo Tolstoy'})
"""Book name checking"""
self.assertEqual(
# Actual results from function call...
book.name,
# Expected results from the function call...
"War and Peace")
"""Book name length checking"""
self.assertEqual(
# Actual results from function call...
len(book.name),
# Expected results from the function call...
13)
In the example above, I created a test method called test_string_concatenation_and_length() that checks the string concatenation and the length of the concatenated string.
Running Tests
Odoo test cases can be executed in different ways
- 微信扫一扫,一分也是爱:
服务原则及地区范围
宜兴通达网络科技有限公司,地处中国宜兴环科园内,是一家高新技术企业。公司在企业网络维护和企业信息化建设与咨询方面,有10多年经验。
我公司愿与客户一道,力求彻底解决客户问题!
我们不是在给企业提供“头痛医头、脚痛医脚”的暂时解决方案,而是在部署根本性安全与稳定服务!!
我们愿携手客户,建立企业IT规划;杜绝随意安装系统、软件等操作;力求共同维护有序、安全、稳定的网络办公环境!!!
IT服务,服务是根本,客户是上帝;我们提供快速响应、快速上门、快速排查,提供优质高效的服务!!!!
通达科技提供全国范围内的服务,服务形式包括远程协助、电话咨询、电子邮件咨询、传真咨询、问答平台的问题解决等。
宜兴地区提供上门服务:
- 市区服务:宜城街道、城北街道(屺亭街道)、新街街道、新庄街道、环科园、渚桥开发区
- 市郊服务:张渚镇、西渚镇、太华镇、徐舍镇、官林镇、杨巷镇、新建镇、和桥镇、高塍镇、万石镇、周铁镇、芳桥镇、丁蜀镇、湖父镇。