New submission from R. David Murray <[email protected]>:
The following code:
def foo(a, *, b=None):
pass
unittest.mock.create_autospec(foo)
fails with this traceback:
Traceback (most recent call last):
File "temp.py", line 6, in <module>
unittest.mock.create_autospec(foo)
File "/home/rdmurray/python/p33/Lib/unittest/mock.py", line 2026, in
create_autospec
mock = _set_signature(mock, spec)
File "/home/rdmurray/python/p33/Lib/unittest/mock.py", line 162, in
_set_signature
result = _getsignature(original, skipfirst, instance)
File "/home/rdmurray/python/p33/Lib/unittest/mock.py", line 81, in
_getsignature
regargs, varargs, varkwargs, defaults = inspect.getargspec(func)
File "/home/rdmurray/python/p33/Lib/inspect.py", line 808, in getargspec
raise ValueError("Function has keyword-only arguments or annotations"
ValueError: Function has keyword-only arguments or annotations, use
getfullargspec() API which can support them
----------
keywords: easy
messages: 158864
nosy: michael.foord, r.david.murray
priority: normal
severity: normal
status: open
title: Mock cannot autospec functions with keyword-only arguments.
type: enhancement
versions: Python 3.3
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue14634>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com