Python.use(better) テストケースを実行するコード

記事一覧入門編基礎編応用編中級編

Python.use(better)
テストケースを実行するコード《Jython2.5.0》

《著》小粒ちゃん+∞《監修》小泉ひよ子とタマゴ倶楽部
第0版♪2001/03/02 ● 第1版♪2003/05/25 ● 第2版♪2004/06/01 ● 第3版♪2009/02/28

♪スタッフ研修用のセミナー教材(2003)に加筆(再構成)して、公式マニュアルの補足情報を提供します。

25.2. doctest — Test interactive Python examples ★★

ドキュメンテーション文字列の中に、対話モードでの入出力例を記述するだけで、そのモジュールが正しく動作することを検証できます。

#! /usr/bin/env python
"""
>>> # -------------------- ex_1
>>> "ABC".find('A')
0
>>> "ABC".find('B')
1
>>> "ABC".find('C')
2
>>> "ABC".find('@')
-1

>>> # -------------------- ex_2
>>> "ABC".index('A')
0
>>> "ABC".index('B')
1
>>> "ABC".index('C')
2
>>> "ABC".index('@')
Traceback (most recent call last):
  File "", line 1, in 
ValueError: substring not found in string.index

>>> None
version: #1.0.0
"""
## ----------------------------------------
from doctest import testmod

if __name__=='__main__':
    testmod(name=__file__)

これを実行すると、

$ jython2.5.0 Testmod.py 
$

すべてのテストケースに問題がなければ、何も出力されません。しかし、テストケースを実行したか不安になるので、最後にエラーケースを1つだけ記述しておくと、

$ jython2.5.0 Testmod.py 
***********************************************************************
File "Testmod.py", line 31, in Testmod.py
Failed example:
    None
Expected:
    version: #1.0.0
Got nothing
***********************************************************************
1 items had failures:
   1 of   9 in Testmod.py
***Test Failed*** 1 failures.
$

このようなレポートが出力されます。この最後のエラーケースで、テストケースのバージョンを確認できるので便利です。

■ 何が問題か

しかし、手作業でテストケースを入力するのは面倒です。そこで「テストケースを生成するコード」を記述する方法を紹介します。

TO BE CONTINUED...


》作業中です《






Last updated♪2009/07/24