doctest のもう一つの簡単な用途は、テキストファイル中にある対話操作の 例に対するテストです。これには testfile() 関数を使います:
import doctest doctest.testfile("example.txt")
この短いスクリプトは、example.txt というファイルの中に入っている 対話モードの Python 操作例全てを実行して、その内容を検証します。 ファイルの内容は一つの巨大な docstring であるかのように扱われます; ファイルが Python プログラムでなくてもよいのです! 例えば、 example.txt には以下のような内容が入っているかもしれません:
The ``example`` module ====================== Using ``factorial`` ------------------- This is an example text file in reStructuredText format. First import ``factorial`` from the ``example`` module: >>> from example import factorial Now use it: >>> factorial(6) 120
doctest.testfile("example.txt")
を実行すると、
このドキュメント内のエラーを見つけ出します:
File "./example.txt", line 14, in example.txt Failed example: factorial(6) Expected: 120 Got: 720
testmod() と同じく、testfile() は例題が失敗しない 限り何も表示しません。例題が失敗すると、失敗した例題とその原因が (場合によっては複数) testmod() と同じ書式で標準出力に 書き出されます。
デフォルトでは、testfile() は自分自身を呼び出した モジュールのあるディレクトリを探します。その他の場所にあるファイルを 見に行くようにtestfile() に指示するためのオプション引数に ついての説明は 5.2.7 節を参照してください。
testmod() と同様、コマンドラインオプション-v またはオプションのキーワード引数 verbose を使うと、 testfile() の冗長度を設定できます。
testfile() の詳細は5.2.7 節を参照してください。
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。