在python中使用mock side_effect来模拟一个函数

时间:2015-12-04 22:54:22

标签: python mocking

我试图在python mock中使用side_effect功能,通过调用另一个函数来完全替换对特定函数的调用。现在这两个函数采用不同的参数集,我不确定如何将参数传递给side_effect。

我的示例代码如下:

import mock

def func1(arg1):
    print arg1

def func2():
    print 'original function'

@mock.patch('func2', side_effect=func1)
def func():
    func2()

func()

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

如果你没有定义在没有提供args时如何调用func1,那么就没有办法比...更好地回答了。

@mock.patch('func2', side_effect=lambda:func1("Hei... I don't know what you want to do!")
def func():
    func2()