从另一个进程调用的Python模拟函数

时间:2018-07-03 11:05:48

标签: python-2.7 unit-testing mocking

具有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)

0 个答案:

没有答案