def assert_called_with(self, /, *args, **kwargs):
"""assert that the last call was made with the specified arguments.
Raises an AssertionError if the args and keyword args passed in are
different to the last call to the mock."""
if self.call_args is None:
expected = self._format_mock_call_signature(args, kwargs)
actual = 'not called.'
error_message = ('expected call not found.\nExpected: %s\nActual: %s'
% (expected, actual))
raise AssertionError(error_message)
Я никогда раньше не сталкивался с /
в аргументах функции Python, и здесь он, похоже, не используется (в mock.py библиотеки mock). Так что же он делает?
Это используется для обозначения того, что все, что находится перед /
, является только позиционным параметром. Обратите внимание, что такая функция, как range
, которая имеет start, stop, and step
, не допускает аргументы ключевого слова, например, вы не можете сделать range(stop = 3)
, например. Это из-за использования /
в определении функции. Отметьте здесь для дальнейшей проработки.