<div dir="ltr">What am I doing wrong here?<div><br></div><div style>>>> import mock</div><div><div>>>> fn = mock.Mock()</div><div>>>> fn.side_effect = [1,2]</div><div>>>> fn(), fn()</div>
<div>(1, 2)</div><div><br></div><div style>but</div><div><br></div><div>>>> fn = mock.create_autospec(lambda: None)</div><div>>>> fn.side_effect = [1,2]</div><div>>>> fn(), fn()</div><div>Traceback (most recent call last):</div>
<div> File "<stdin>", line 1, in <module></div><div> File "<string>", line 3, in funcopy</div><div> File "mock.py", line 974, in __call__</div><div> return _mock_self._mock_call(*args, **kwargs)</div>
<div> File "mock.py", line 1031, in _mock_call</div><div> result = next(effect)</div><div>TypeError: list object is not an iterator</div></div><div><br></div><div style>whereas</div><div style><br></div><div style>
<div>>>> fn = mock.create_autospec(lambda: None, side_effect=[1,2])</div><div>>>> fn(), fn()</div><div>(1, 2)</div><div><br></div></div></div>