doctst の最初の言葉が "doc" になっていますが、この言葉、すなわち ドキュメントを最新に保つこと: こそが、作者が doctest を書いた理由です。 たまたま doctest はテスト環境として面白いユニットになっていますが、 それが第一目的なわけではありません。
docstring の例は注意深く作成してください。これには学習を必要とする 一種の芸術が存在します -- 最初はすんなりできないでしょう。 例というものはドキュメントに紛れ無しの価値を与えます。よい例は しばしばいくつもの言葉に値します。可能なら、通常の場合の例、境界条件的な 場合の例、興味深い微妙な例を示し、そして送出されうる例外各々について の例を示してください。おそらく境界条件的な例や微妙な例を対話シェル でテストしていることでしょう: doctest ではこうしたセッションを 取り込み、かつ今後ずっと設計通りに動作するよう検証する作業を 可能な限り簡単にしたいと思っています。
注意深くやれば、例はユーザにとってはあまり意味のないものになるかも しれませんが、歳を経るにつれて、あるいは "状況が変わった" 際に 何度も何度も正しく動作させるためにかかることになる時間を節約する 形で見返りは選られます。私は今でも、自分の doctest で処理した例が "たいした事のない" 変更を行った際にうまく動作しなくなることに 驚いています。
網羅的なテストや、ドキュメントに対する付加価値のまったくない退屈な例の
テストについては、__test__
辞書の方に定義してください。
__test__
はそのための辞書です。