文檔測(cè)試
對(duì)于Python這種腳本語(yǔ)言來(lái)說(shuō)驾胆,有很多情況都可以在命令行里直接執(zhí)行晦攒,所以可以通過(guò)編寫(xiě)Python文件直接在命令行里看到測(cè)試的結(jié)果态贤,就顯得很方便气笙。對(duì)于這種情況次企,Python專門(mén)有一個(gè)doctest
模塊來(lái)幫助我們測(cè)試自己的代碼。
最主要的作用就是能夠把我們寫(xiě)的代碼潜圃,以及我們預(yù)期的結(jié)果寫(xiě)下文件的注釋里面缸棵,doctest類會(huì)自動(dòng)幫我們提取出測(cè)試代碼,并比較測(cè)試結(jié)果和預(yù)期結(jié)果谭期,如果不一致的話堵第,會(huì)在命令行里面顯示錯(cuò)誤吧凉,如果全部一致的話,命令行不會(huì)有出錯(cuò)提示踏志。下面是一個(gè)小例子阀捅。
# -*- coding: utf-8 -*-
# temp.py
def fact(n):
'''
>>> fact(0)
Traceback (most recent call last):
...
ValueError
>>> fact(1)
1
>>> fact(2)
2
>>> print(fact(4))
6
'''
if n < 1:
raise ValueError()
if n == 1:
return 1
return n * fact(n - 1)
if __name__ == '__main__':
import doctest
doctest.testmod()
print(fact(3))
代開(kāi)命令行,將目錄轉(zhuǎn)到文件所在的目錄下面针余,輸入下面的命令:
>>>python temp.py
運(yùn)行結(jié)果如下:
運(yùn)行結(jié)果
而且if __name__ == '__main__':
保證了測(cè)試只會(huì)在命令行調(diào)用時(shí)才會(huì)起作用饲鄙,在其他程序調(diào)用時(shí)是不會(huì)生效的。
又學(xué)到了一個(gè)挺有用的測(cè)試工具T惭恪忍级!