5.2.3 実行コンテキストとは何か?

デフォルトでは、testmod がテストを行うべきドキュメン テーション文字列を見つけるたびに、M のグローバルを コピーして 使うため、モジュール上でテストを動作させても モジュールの実際のグローバル 変数を変更することはありません。このため、M 内でテストを 行った際に痕跡が残り (left behind crumbs)、偶発的に別のテストが 作動することはないはずです。すなわち、例では M 内の トップレベルで定義されたどんな名前も、ドキュメンテーション文字列 が動作する以前に定義された名前も自由に使うことができます。

testmod()globs=your_dict を渡すことで、 自前の辞書を実行コンテキストとして使うこともできます。 おそらくこの値は M.__dict__ を他の import されたモジュール 由来のグローバル変数とマージしたものになるでしょう。

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。