[issue26752] Mock(2.0.0).assert_has_calls() raise AssertionError in two same calls
John W.
report at bugs.python.org
Mon Feb 13 16:54:01 EST 2017
John W. added the comment:
This also seems to apply to unittest.mock in Python3.4.
I described my similar issue on SO: http://stackoverflow.com/questions/42212433/what-is-wrong-with-this-simple-py-test-use-case
It seems like it may be the same issue described here.
For reference, this is my repro case:
from unittest.mock import patch, call
class Foo:
def __init__(self):
pass
def my_method(self, value):
pass
def test_foo():
with patch('test.Foo', autospec=True) as MockFoo:
m = MockFoo()
m.my_method(123)
MockFoo.assert_has_calls([call(), call().my_method(123)])
It fails with:
...
E AssertionError: Calls not found.
E Expected: [call(), call().my_method(123)]
E Actual: [call(), call().my_method(123)]
Which seems nonsensical to me.
Removing the `value` parameter and the `123` arguments in the test makes it pass(!)
----------
nosy: +jwdevel
versions: +Python 3.4
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue26752>
_______________________________________
More information about the Python-bugs-list
mailing list