summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/unittest/mock.py22
1 files changed, 20 insertions, 2 deletions
diff --git a/Lib/unittest/mock.py b/Lib/unittest/mock.py
index 6ecc4c7..a0b7fb0 100644
--- a/Lib/unittest/mock.py
+++ b/Lib/unittest/mock.py
@@ -1205,7 +1205,7 @@ class _patch(object):
"autospec and new."
)
if original is DEFAULT:
- raise TypeError("Can't use 'spec' with create=True")
+ raise TypeError("Can't use 'autospec' with create=True")
spec_set = bool(spec_set)
if autospec is True:
autospec = original
@@ -2142,6 +2142,17 @@ FunctionAttributes = set([
file_spec = None
def mock_open(mock=None, read_data=None):
+ """
+ A helper function to create a mock to replace the use of `open`. It works
+ for `open` called directly or used as a context manager.
+
+ The `mock` argument is the mock object to configure. If `None` (the
+ default) then a `MagicMock` will be created for you, with the API limited
+ to methods or attributes available on standard file handles.
+
+ `read_data` is a string for the `read` method of the file handle to return.
+ This is an empty string by default.
+ """
global file_spec
if file_spec is None:
import _io
@@ -2162,7 +2173,14 @@ def mock_open(mock=None, read_data=None):
class PropertyMock(Mock):
- """A Mock variant with __get__ and __set__ methods to act as a property"""
+ """
+ A mock intended to be used as a property, or other descriptor, on a class.
+ `PropertyMock` provides `__get__` and `__set__` methods so you can specify
+ a return value when it is fetched.
+
+ Fetching a `PropertyMock` instance from an object calls the mock, with
+ no args. Setting it calls the mock with the value being set.
+ """
def __get__(self, obj, obj_type):
return self()
def __set__(self, obj, val):