#!/usr/bin/env python
'''
>>> factorial(5)
120
'''
def factorial( n ):
'''return the factorial of n
>>> factorial( 3 )
6
'''
if n <= 1: return 1
else:
return n * factorial(n - 1)
if __name__ == '__main__':
import doctest
doctest.testmod()之后可以$ ./test04.py -v
Trying:
factorial(5)
Expecting:
120
ok
Trying:
factorial( 3 )
Expecting:
6
ok
2 items passed all tests:
1 tests in __main__
1 tests in __main__.factorial
2 tests in 2 items.
2 passed and 0 failed.
Test passed.非常方便的 unit test 工具。另外可以写一个无关的文本文件,如 README 之类的介绍如何使用这个 module,里面的例子也可以作为测试,这只需要 doctest.testfile() 指定文件即可。测试还可以包括出现错误的情况,doctest 也能发现抛出的 exception 是否匹配。doctest 是基于 unittest 做的,本质上就是从文件或者文档中抽取例子。后面我们将具体看看 unittest 提供给我们一些什么样的功能。
No comments:
Post a Comment