Documentation for asserting values of `unittest.mock.Mock.call_args_list` · Issue #91365 · python/cpython
Currently documentation says we can check call_args_list by providing a list of tuples of arguments.
>>> expected = [(), ((3, 4),), ({'key': 'fish', 'next': 'w00t!'},)]
>>> mock.call_args_list == expected
True
(from https://docs.python.org/3.11/library/unittest.mock.html#unittest.mock.Mock.call_args_list)
However, I think we have to wrap all arguments with call.
I'd happy to send a patch if it should be fixed.
### Reproduce:
import time
from unittest.mock import call
from unittest.mock import patch
with patch("time.sleep") as mock_obj:
time.sleep(1)
time.sleep(2)
print("mock_obj.call_args_list")
print(mock_obj.call_args_list)
print("mock_obj.call_args_list == [(1,), (2,)]")
print(mock_obj.call_args_list == [(1,), (2,)])
print("mock_obj.call_args_list == [call(1,), call(2,)]")
print(mock_obj.call_args_list == [call(1,), call(2,)])
> python demo.py 2022-04-04 12:03:18
mock_obj.call_args_list
[call(1), call(2)]
mock_obj.call_args_list == [(1,), (2,)]
False
mock_obj.call_args_list == [call(1,), call(2,)]
True
### Links