Тип патча для Python call_args_listPython

Программы на Python
Anonymous
Тип патча для Python call_args_list

Сообщение Anonymous »

Изучая функцию пути call_args_list, я обнаружил кое-что странное.
Выполнение приведенного ниже кода на Python3.7 и python3.11 дает разные типы. На Python3.7 тип — в то время как в python3.11 типом является .
  • Не могу найти его в официальной документации, где он был изменен?
  • Как правильно работать с аргументами вызова? Допустим, я хочу проверить, что для kwarg с именем foo было установлено значение «bar» при вызове имитируемой функции (с dict это очень просто, с _Call я не нашел способа сделать это).
from unittest import mock

def foobar(foo = None, bar = None):
print(f'args: {foo}, {bar}')

l = None
with mock.patch('__main__.foobar') as m:
foobar(foo=1, bar=4)
l = m.call_args_list

type(l[0].kwargs)


Подробнее здесь: https://stackoverflow.com/questions/786 ... -list-type

Вернуться в «Python»