具有A.py
,其中包含对象A
,该对象继承自Process类。
在A.start()
函数内部,我调用了静态函数A_FUNC()
(也位于A.py
中)。
现在,我想为A
对象编写单元测试,因此我需要使用不同的值来模拟A_FUNC
以测试不同的场景。
出于某种原因,我的嘲笑似乎对A_FUNC
没有任何影响(即,返回值不变)
这可以通过模拟来实现吗,还是由于A_FUNC是从与单元测试过程不同的过程中调用而引起的,所以会产生问题吗?
插图代码:
from mock import patch
import A_module
class A_test(unitest.TestCase):
@patch(A_module.A_FUNC, return_value = 'test')
def test_A_object(self, mocked_fucntion):
a_object = A_module.A()
A.start() # when I debug A I see that the return value of A_FUNC isn't 'test' , i.e - mocking had no effect)