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 用户的新环境。测试代码的修改到此告一段落。