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