Насмешка: метод обтекания и получение аргументов во время вызова - PullRequest
0 голосов
/ 06 июня 2018

Интересно, можно ли пропатчить метод где-то глубоко внутри кода, которым я не владею, таким образом, чтобы я мог получить аргументы, которые получит метод непосредственно до или после вызова этого метода, без фактической ссылки наобъект, для которого вызывается метод.

Я хочу иметь возможность сделать что-то вроде

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()

, и тогда я попаду в обертку, когда метод в конце концов вызывается, но я могуВызвать проверенный метод без предварительной ссылки на его объект в тестовом коде.Это достижимо?

...