zoukankan      html  css  js  c++  java
  • 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/

  • 相关阅读:
    2016"百度之星"
    codeforces 55 div2 C.Title 模拟
    codeforces 98 div2 C.History 水题
    codeforces 97 div2 C.Replacement 水题
    codeforces 200 div2 C. Rational Resistance 思路题
    bzoj 2226 LCMSum 欧拉函数
    hdu 1163 九余数定理
    51nod 1225 余数的和 数学
    bzoj 2818 gcd 线性欧拉函数
    Codeforces Round #332 (Div. 2)D. Spongebob and Squares 数学
  • 原文地址:https://www.cnblogs.com/odoo14/p/12867920.html
Copyright © 2011-2022 走看看