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

測試業務邏輯

現在我們應爲業務邏輯添加測試了,理想情況下每行代碼都應有一個測試用例。tests/test_book.py 文件 test_create() 方法再加幾行代碼:
def test_check_isbn(self):
"Check valid ISBN"
self.assertTrue(self.book_ode._check_isbn)
推薦爲每個需檢查的操作添加一個測試用例,本條測試與上一條相似,先創建一本新書。因爲各個測試用例是相互獨立的,用例創建或修改的數據會在測試結束時回滾。然後在創建的記錄上調用測試方法來檢查所使用 ISBN 是否被正確驗證。
當然,現在運行測試還是會失敗,因爲所測試的功能還未被實現。

測試安全權限

也可以對安全權限進行檢測,確定是否對用戶進行了正確的授權。 Odoo 中默認測試由不受權限控制的__system__內部用戶執行。所以我們應改變執行測試的用戶,來檢測是否授予了正確的安全權限。這通過在 self.env 中修改執行環境來實現,只需把 user 屬性修改爲希望運行測試的用戶即可。修改 tests/test_book.py 中的 setUp 方法如下:
def setUp(self, *args, **kwargs):
result = super().setUp(*args, **kwargs)
user_admin = self.env.ref('base.user_admin')
self.env = self.env(user=user_admin)
self.Book = self.env['library.book']
self.book_ode = self.Book.create({
'name': 'Odoo Development Essentials',
'isbn': '879-1-78439-279-6'})
return result
第一條命令調用了父類中的 setUp 代碼,下面一條修改了用於測試的環境 self.env 爲使用
admin 用戶的新環境。測試代碼的修改到此告一段落。

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

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