23.2.3.3 What's the Execution Context?
By default, each time doctest finds a docstring to test, it
uses a shallow copy of M's globals, so that running tests
doesn't change the module's real globals, and so that one test in
M can't leave behind crumbs that accidentally allow another test
to work. This means examples can freely use any names defined at top-level
in M, and names defined earlier in the docstring being run.
Examples cannot see names defined in other docstrings.
You can force use of your own dict as the execution context by passing
globs=your_dict to testmod() or
testfile() instead.
Release 2.5.2, documentation updated on 21st February, 2008.
See About this document... for information on suggesting changes.
|