Odoo安裝教程8-創建新的插件模塊第七講

添加自動化測試

編程的最佳實踐包含代碼的自動化測試,對於像 Python 這樣的動態語言尤爲重要,因爲它沒有編譯這一步,只有在解釋器實際運行代碼時纔會報語法錯誤。好的編輯器可以讓我們提前發現問題,但無法像自動化測試這樣幫助我們確定代碼如預期般運行。
“ 注意: Odoo 12 的修改
在老版本中, Odoo 使用 YAML 文件來進行測試,但 Odoo 12 中移除了對 YAML 文件的支持,所以不能再使用該格式文件。 ”
測試驅動開發(TDD -Test-driven Development) 方法讓我們先寫測試,檢查錯誤,然後開發代碼直至通過測試。受此方法啓示,在添加實際功能前我們先添加模塊測試:
1、 測試代碼文件名應以 test_開頭,並通過 tests/__init__.py 引用。但測試目錄(也即 Python
子模塊)不應在模塊的外層__init__.py 中引入,因爲僅在測試執行時纔會自動查找和加載
它。
2、 測試應放在 tests/子目錄中,在 tests/__init__.py 中添加如下代碼:

from . import test_book

3、 在 tests/test_book.py 文件中添加實際的測試代碼:

from odoo.tests.common import TransactionCase
class TestBook(TransactionCase):
def setUp(self, *args, **kwargs):
result = super().setUp(*args, **kwargs)
self.Book = self.env['library.book']
self.book_ode = self.Book.create({
'name': 'Odoo Development Essentials',
'isbn': '879-1-78439-279-6'})
return result
def test_create(self):
"Test Books are active by default"
self.assertEqual(self.book_ode.active, True)

以上代碼添加一個簡單測試用例,創建一本新書並檢測 active 字段的值是否正確。
4、 使用–test-enable 參數在安裝或升級模塊時進行測試
~/odoo-dev/odoo/odoo-bin -d dev12 -u library_app --test-enable
5、 Odoo 服務會在升級的模塊中查找 tests/子目錄並運行。現在測試會拋出錯誤,在輸出日誌中可看到測試相關的 ERROR 信息。在爲模塊添加完圖書模型後應該就不再報錯。

更多教程:https://www.erpdaxue.cn/odoo/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章