Closes issue 14634. unittest.mock.create_autospec now supports keyword only arguments.
diff --git a/Lib/unittest/mock.py b/Lib/unittest/mock.py
index 8378b0f..8f592ab 100644
--- a/Lib/unittest/mock.py
+++ b/Lib/unittest/mock.py
@@ -78,11 +78,15 @@
             return
 
     try:
-        regargs, varargs, varkwargs, defaults = inspect.getargspec(func)
+        argspec = inspect.getfullargspec(func)
     except TypeError:
         # C function / method, possibly inherited object().__init__
         return
 
+    # not using annotations
+    regargs, varargs, varkw, defaults, kwonly, kwonlydef, ann = argspec
+
+
     # instance methods and classmethods need to lose the self argument
     if getattr(func, '__self__', None) is not None:
         regargs = regargs[1:]
@@ -90,8 +94,9 @@
         # this condition and the above one are never both True - why?
         regargs = regargs[1:]
 
-    signature = inspect.formatargspec(regargs, varargs, varkwargs, defaults,
-                                      formatvalue=lambda value: "")
+    signature = inspect.formatargspec(
+        regargs, varargs, varkw, defaults,
+        kwonly, kwonlydef, ann, formatvalue=lambda value: "")
     return signature[1:-1], func