通常の利用法では、各モジュール M の最後を、以下:
def _test(): import doctest, M # replace M with your module's name return doctest.testmod(M) # ditto if __name__ == "__main__": _test()
のようにして締めくくります。
もしテスト対象のモジュールがメインモジュールであるなら、 testmod() に M を指定する必要はありません; この場合、実行中のモジュールがテストされます。
次に、モジュールをスクリプトとして走らせ、ドキュメンテーション文字列 を実行して検証します:
python M.py
ドキュメンテーション文字列に書かれた例の実行が失敗しない限り、何も
表示されません。失敗すると、失敗した例と、その原因が (場合によっては複数)
標準出力に印字され、出力の最後の行が 'Test failed.'
と
なります。
一方、-v スイッチをつけて走らせると:
python M.py -v
実行を試みた全ての例について詳細に報告し、最後に各種まとめをおこなった 内容が標準出力に印字されます。
verbose=1
を testmod() に渡せば、
詳細報告 (verbose) モードを強制することができます。また、
verbose=0
とすれば禁止することができます。
どちらの場合にも、testmod() は sys.argv
上のスイッチ
を調べません。
いずれの場合も、testmod() は整数 2 要素、
(f, t)
からなるタプルを返し、f が失敗した
ドキュメンテーション文字列内の例、t が実行を試みた例の総数となります。
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。