Mocking:包装方法并在调用时接收参数

2024-03-28 20:00:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道是否有可能在我不拥有的代码深处的某个地方修补一个方法,使我能够在调用该方法之前或之后接收该方法将接收的参数,而不需要对调用该方法的对象进行实际引用

我想做一些像这样的事情

def wrapping(method, *args, **kwargs):
    # do stuff
    rv = method(*args, **kwargs)
    # more stuff
    return rv


with mock.patch('path.to.The.method', wraps=wrapping):
    code_that_eventually_calls_the_method()

然后,当方法最终被调用时,我就开始包装,但是我可以调用模拟方法,而不必在测试代码中预先引用它的对象。这是可以实现的吗


Tags: 对象方法代码参数defmore地方args