開始使用doctest的最簡單的方法(但不一定是您繼續(xù)這樣做的方式)是結(jié)束每個(gè)模塊M:
if __name__ == "__main__":
import doctest
doctest.testmod()
然后doctest在模塊中檢查文檔字符串M。
將模塊作為腳本運(yùn)行會(huì)導(dǎo)致文檔字符串中的示例得到執(zhí)行和驗(yàn)證:
python M.py
這將不會(huì)顯示任何東西,除非一個(gè)例子失敗,在這種情況下,失敗的例子和失敗的原因被打印到標(biāo)準(zhǔn)輸出,并且輸出的最后一行是***Test Failed*** N failures.,其中N是數(shù)字失敗的例子。
改為使用開關(guān)運(yùn)行-v:
python M.py -v
并且所有嘗試過的示例的詳細(xì)報(bào)告都會(huì)打印到標(biāo)準(zhǔn)輸出,并在最后列出各種摘要。
您可以通過傳遞verbose=True來強(qiáng)制詳細(xì)模式testmod(),或通過傳遞來禁止它verbose=False。在任何一種情況下,sys.argv都不會(huì)被檢查testmod()(如此通過-v或沒有影響)。
自Python 2.6以來,還有一個(gè)用于運(yùn)行的命令行快捷方式testmod()。您可以指示Python解釋器直接從標(biāo)準(zhǔn)庫運(yùn)行doctest模塊,并在命令行上傳遞模塊名稱:
python -m doctest -v example.py
這將example.py作為獨(dú)立模塊導(dǎo)入并testmod()在其上運(yùn)行。請注意,如果文件是軟件包的一部分并從該軟件包導(dǎo)入其他子模塊,則可能無法正常工作。
有關(guān)更多信息testmod(),請參閱基本API一節(jié)。
更多建議: