≮Python≯ doctest --- 対話的な実行例をテストする例題プログラム
Python で doctest を使用して、対話的な実行例をテストする例題プログラムです。
まず、このドキュメントを読んでください。
読んで、もし doctest の使い方がよく分からなくても、例題プログラムを見れば doctest の使い方が分かる様になるかもしれません。。。
プログラム例1
# doctest のテストプログラム dt1.py
# コマンドラインショートカットは python -m doctest example .py または python -m doctest -v example.py [詳細報告(verbose)モード]
def plus(a, b):
'''
対話的な実行例をテストする - 正常ケース
>>> print(plus(1, 2))
3
>>> print(plus(1, -2))
-1
'''
return a + b
if __name__ == "__main__":
import doctest
doctest.testmod()
# doctest.testmod(verbose=True) # 詳細報告(verbose)モード
実行結果 (無し)
プログラム例2
# doctest のテストプログラム dt2.py
# コマンドラインショートカットは python -m doctest example .py または python -m doctest -v example.py [詳細報告(verbose)モード]
def plus(a, b):
'''
対話的な実行例をテストする - 異常ケース (わざと -1 を -10 に変更)
>>> print(plus(1, 2))
3
>>> print(plus(1, -2))
-10
'''
return a + b
if __name__ == "__main__":
import doctest
doctest.testmod()
# doctest.testmod(verbose=True) # 詳細報告(verbose)モード
実行結果
**********************************************************************
File "dt2.py", line 12, in __main__.plus
Failed example:
print(plus(1, -2))
Expected:
-10
Got:
-1
**********************************************************************
1 items had failures:
1 of 2 in __main__.plus
***Test Failed*** 1 failures.
プログラム例3
# doctest のテストプログラム dt3.py
# コマンドラインショートカットは python -m doctest example .py または python -m doctest -v example.py [詳細報告(verbose)モード]
def plus(a, b):
'''
対話的な実行例をテストする - 正常ケース 詳細報告(verbose)モード
>>> print(plus(1, 2))
3
>>> print(plus(1, -2))
-1
'''
return a + b
if __name__ == "__main__":
import doctest
# doctest.testmod()
doctest.testmod(verbose=True) # 詳細報告(verbose)モード
実行結果
Trying:
print(plus(1, 2))
Expecting:
3
ok
Trying:
print(plus(1, -2))
Expecting:
-1
ok
1 items had no tests:
__main__
1 items passed all tests:
2 tests in __main__.plus
2 tests in 2 items.
2 passed and 0 failed.
Test passed.
#Chromebook 上の #Linux で #Python #Python3 #プログラミング を勉強中 !
#doctest
#testmod
#テスト