Почему макет Python Assert_any_call не соответствуетPython

Программы на Python
Ответить
Anonymous
 Почему макет Python Assert_any_call не соответствует

Сообщение Anonymous »

Учитывая документ для Assert_any_call
Изображение

У меня есть оператор журнала, который я хочу проверить

Код: Выделить всё

...
logger.warning('Backup quantity is 0, supplied uuids %s, matched machines: %s', uuids, machines)
...
см. последние 3 строки моего модульного теста (первые 2 строки только для целей исследования)

Код: Выделить всё

# deliberate fail so it prints what it expects
logger.warning.assert_not_called()

# prints the params used in the official assert
print('Backup quantity is 0, supplied uuids %s, matched machines: %s', [vm3_uuid], VirtualMachine.objects.none())

# actual official assert
logger.warning.assert_any_call('Backup quantity is 0, supplied uuids %s, matched machines: %s', [vm3_uuid], VirtualMachine.objects.none())
Выходные данные теста Assert_not_ Called были:

Код: Выделить всё

AssertionError: Expected 'warning' to not have been called. Called 2 times.
Calls: [call('Backup quantity is 0, supplied uuids %s, matched machines: %s', ['232d7937-975c-457b-8a11-ac473d0e04a0'], ),
call('%s %s cannot find proxmox UUID from BIS', 'DEF-456', 'vm4')]
Печать параметров была

Код: Выделить всё

Backup quantity is 0, supplied uuids %s, matched machines: %s ['232d7937-975c-457b-8a11-ac473d0e04a0'] 
Официальное подтверждение не выполнено

Код: Выделить всё

AssertionError: warning('Backup quantity is 0, supplied uuids %s, matched machines: %s', ['232d7937-975c-457b-8a11-ac473d0e04a0'], ) call not found
Если я не пропустил что-то очень очевидное, я не знаю, почему утверждение_any_call не удастся?

Подробнее здесь: https://stackoverflow.com/questions/792 ... t-matching
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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