猴子修补Odoo单元测试

时间:2019-06-30 05:10:24

标签: python odoo monkeypatching odoo-12

我有一些定制的模块可以更改默认工作流程,因此必须重新编写相关的单元测试。首先,我猴子修补了一个crm模块单元测试,没有任何问题。

原始的crm单元测试:test_crm_ui.py on GitHub

我在定制模块中的猴子补丁:

import odoo.addons.crm.tests.test_crm_ui

@odoo.tests.tagged('post_install', '-at_install')
class TestUi(odoo.addons.crm.tests.test_crm_ui.TestUi):
    def test_01_crm_tour(self):
        pass
        # ...

odoo.addons.crm.tests.test_crm_ui.TestUi = TestUi

曾任职。

然后,我需要在sale_mrp模块中修补所有单元测试。以test_multistep_manufacturing.py为例:original on GitHub

首先,我在下面尝试过,类似于对crm所做的操作。

import odoo.addons.sale_mrp.tests.test_multistep_manufacturing

class ReplaceTestMultistepManufacturing(odoo.addons.sale_mrp.tests.test_multistep_manufacturing.TestMultistepManufacturing):
    def setUp(self):
        pass
        # ...
    def test_00_manufacturing_step_one(self):
        pass
        # ...

odoo.addons.sale_mrp.tests.test_multistep_manufacturing.TestMultistepManufacturing = ReplaceTestMultistepManufacturing

没有起作用,也许实际模块没有真正打补丁。然后我尝试了以下。

from odoo.addons.sale_mrp.tests import test_multistep_manufacturing

class ReplaceTestMultistepManufacturing(test_multistep_manufacturing.TestMultistepManufacturing):
    def setUp(self):
        pass
        # ...
    def test_00_manufacturing_step_one(self):
        pass
        # ...

test_multistep_manufacturing.TestMultistepManufacturing = ReplaceTestMultistepManufacturing

没有的工作。实际上,两次尝试的结果相同-新测试均已运行。

我在做猴子补丁时是否做错了,还是需要在Odoo中做一些特别的事情?谢谢!

0 个答案:

没有答案