Add notes to docstring of `monkeypatch.undo()`
Note that calling `undo()` is generally not needed, and describe the "gotcha" discovered in #981.
This commit is contained in:
parent
c0eec5d61c
commit
6380e19f07
|
@ -191,7 +191,17 @@ class monkeypatch:
|
|||
def undo(self):
|
||||
""" Undo previous changes. This call consumes the
|
||||
undo stack. Calling it a second time has no effect unless
|
||||
you do more monkeypatching after the undo call."""
|
||||
you do more monkeypatching after the undo call.
|
||||
|
||||
There is generally no need to call `undo()`, since it is
|
||||
called automatically during tear-down.
|
||||
|
||||
Note that the same `monkeypatch` fixture is used across a
|
||||
single test invocation. If `monkeypatch` is used both by
|
||||
the test function itself and one of the test fixtures,
|
||||
calling `undo()` will undo all of the changes made in
|
||||
both functions.
|
||||
"""
|
||||
for obj, name, value in self._setattr:
|
||||
if value is not notset:
|
||||
setattr(obj, name, value)
|
||||
|
|
Loading…
Reference in New Issue