New submission from Caris Moses <caris.mo...@gmail.com>:
When I use some_mock.attach_mock(...) and make calls, the resulting some_mock.call_args is None while the some_mock.mock_calls list is not empty. The code below shows this in Python 3.7.5: from unittest import TestCase from unittest.mock import patch, Mock def foo(value): return value class MyObjectTest(TestCase): @patch(f'{__name__}.foo') def test_do_something(self, mock_foo): manager = Mock() manager.attach_mock(mock_foo, 'foo_func') foo(3) print(manager.mock_calls) print(manager.call_args) print(manager.call_args_list) if __name__ == "__main__": unittest.main() The print statements return: [call.foo_func(3)] None [] While the code below (without attach_mock) works fine: from unittest import TestCase from unittest.mock import patch, Mock def foo(value): return value class MyObjectTest(TestCase): @patch(f'{__name__}.foo') def test_do_something(self, mock_foo): foo(3) print(mock_foo.mock_calls) print(mock_foo.call_args) print(mock_foo.call_args_list) if __name__ == "__main__": unittest.main() Print statements correctly return: [call(3)] call(3) [call(3)] I also tested in Python 3.8.0 and got the same result. ---------- messages: 354841 nosy: Caris Moses priority: normal severity: normal status: open title: Mock.call_args and Mock.call_args_list _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue38505> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com