Python UT - 模拟一个本地可靠的函数

时间:2016-06-08 09:29:53

标签: python unit-testing mocking

我有如下功能

功能

   def foo(arg1, arg2, arg3): 
       # all the method code....
       parent = arg1.get_item(larg1)
       if larg2 not in parent.children:
            # do stuff

我想在方法中模拟parent,这样当我调用parent.children时,我可以返回空列表[]。 想法?

已经尝试

@patch('foo.bar.foo')
def test_my_test(self, mock_method)
    parent = mocked_method.return_value
    mocked_method.parent.children = []

**这会嘲弄整个方法。

1 个答案:

答案 0 :(得分:0)

模拟arg1.get_item方法并返回预期值。如果你想返回一个对象,你也可以这样做。

修复

@mock.patch(
        'foo.bar.foo.get_item',
        mock.Mock(return_value=mock.Mock(children=[]))
    )