[New-bugs-announce] [issue37828] Fix default mock_name in unittest.mock.assert_called error message

Karthikeyan Singaravelan report at bugs.python.org
Mon Aug 12 03:12:33 EDT 2019


New submission from Karthikeyan Singaravelan <tir.karthi at gmail.com>:

In the format string for assert_called the evaluation order is incorrect and hence for mock's without name 'None' is printed whereas it should be 'mock' like for other messages. The error message is ("Expected '%s' to have been called." % self._mock_name or 'mock') . Here self._mock_name which is None is applied to form the string and then used with the string 'mock' in or combination. The fix would be to have the evaluation order correct like other error messages. Marking this as newcomer-friendly. Please leave this to new contributors as their 1st PR.

./python.exe
Python 3.9.0a0 (heads/master:f03b4c8a48, Aug 12 2019, 10:04:10)
[Clang 7.0.2 (clang-700.1.81)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from unittest.mock import Mock
>>> m = Mock()
>>> m.assert_called_once()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/karthikeyansingaravelan/stuff/python/cpython/Lib/unittest/mock.py", line 854, in assert_called_once
    raise AssertionError(msg)
AssertionError: Expected 'mock' to have been called once. Called 0 times.
>>> m.assert_called()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/karthikeyansingaravelan/stuff/python/cpython/Lib/unittest/mock.py", line 844, in assert_called
    raise AssertionError(msg)
AssertionError: Expected 'None' to have been called.


Thanks

----------
components: Library (Lib)
keywords: newcomer friendly
messages: 349444
nosy: cjw296, mariocj89, michael.foord, xtreak
priority: normal
severity: normal
status: open
title: Fix default mock_name in unittest.mock.assert_called error message
type: behavior
versions: Python 3.8, Python 3.9

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue37828>
_______________________________________


More information about the New-bugs-announce mailing list