## 5.2.2 どのドキュメンテーション文字列が検証されるのか?

全ての詳細は doctest.py のドキュメンテーション文字列を 参照してください。混乱させる ようなことはありません: モジュールのドキュメンテーション文字列、 全ての関数、クラスおよびメソッドのドキュメンテーション文字列が 検索されます。オプションとして、テスタはプライベートな名前を もつオブジェクトに添付されたドキュメンテーション文字列を除外 することができます。モジュールに import されたオブジェクトは 検索されません。

加えて、 `M.__test__` が存在し、 "真の値を持つ" 場合、 この値は辞書で、辞書の各エントリは (文字列の) 名前を 関数オブジェクト、クラスオブジェクト、または文字列に対応付けて いなくてはなりません。`M.__test__` から得られた関数および クラスオブジェクトのドキュメンテーション文字列は、その名前が プライベートなものでも検索され、文字列の場合にはそれが ドキュメンテーション文字列であるかのように直接検索を行います。 出力においては、`M.__test__` におけるキー `K` は、

      <name of M>.__test__.K

のように表示されます。

検索中に見つかったクラスも同様に再帰的に検索が行われ、 クラスに含まれているメソッドおよびネストされたクラスについて ドキュメンテーション文字列のテストが行われます。 `M` 内のグローバル変数から到達したプライベートな名前は オプションでスキップされますが、`M.__test__` から到達した 名前は全て検索されます。