我有一些定制的模块可以更改默认工作流程,因此必须重新编写相关的单元测试。首先,我猴子修补了一个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中做一些特别的事情?谢谢!