doctest

Python標準

doctestは、コメントにテストを書いておいて簡易ユニットテストとして実行できる便利な仕組みです。 Python には標準で装備されています。(PHP等の他の言語でも拡張ライブラリやフレームワーク採用等で対応しているケースがあります。)

ソースにテストケースを書く

プログラムのソース本体に、テストケースをコメントとして書きます。 例えば、以下のように記述します。

def average(*numbers):
    """
    >>> average(1,3)
    2
    >>> average(1,3,4,4)
    3
    """
    return sum(numbers) / len(numbers) 

doctestの読込

下記コードをソースに追加します。

if __name__ == "__main__":
    import doctest
    doctest.testmod()

python ファイル名 -vで、テスト実行結果を確認することができます。 上記例だと、以下のようになります。

Trying:
    average(1,3)
Expecting:
    2
ok
Trying:
    average(1,3,4,4)
Expecting:
    3
ok
1 items had no tests:
    __main__
1 items passed all tests:
   2 tests in __main__.average
2 tests in 2 items.
2 passed and 0 failed.
Test passed.

doctestの欠点

ソース本体にテストを書くため、テストが多い場合は可読性が落ちる可能性があります。

出力が一緒かどうか?というテストなので、複雑なテストを記述するのは難しいでしょう。


手軽にテストを書くことができる点は非常に有用なので、他のテスト等と組み合わせて使うと良いかもしれません。

新着記事
人気記事ベスト3
全てのホームページ製作者に
アフィリエイトで稼ぐ方法
サーチエンジン最適化
Python
携帯サイトの作り方
レンタルサーバの選び方
ホームページ作成ソフト