新聞中心
這篇文章將為大家詳細(xì)講解有關(guān)python中doctest怎么嵌入源碼,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
下面的代碼只有一個函數(shù),里面嵌入了兩個doctest測試用例,文件名為naruto.py:
''' 這個例子展示如何在源碼中嵌入doctest用例。 '>>>' 開頭的行就是doctest測試用例。 不帶 '>>>' 的行就是測試用例的輸出。 如果實際運行的結(jié)果與期望的結(jié)果不一致,就標(biāo)記為測試失敗。 ''' def multiply(a, b): """ >>> multiply(4, 3) 12 >>> multiply('a', 3) 'aaa' """ return a * b if __name__=='__main__': import doctest doctest.testmod(verbose=True)
有兩個地方可以放doctest測試用例,一個位置是模塊的最開頭,另一個位置是函數(shù)聲明語句的下一行(就像上面的例子這樣)。除此之外的其它地方不能放,放了也不會執(zhí)行。
verbose參數(shù),如果設(shè)置為True則在執(zhí)行測試的時候會輸出詳細(xì)信息。默認(rèn)是False,表示運行測試時,只有失敗的用例會輸出詳細(xì)信息,成功的測試用例不會輸出任何信息。
將上面提到的文件放在D盤(或者其他你覺得方便的目錄),打開cmd命令行,切換到naruto.py所在的目錄(我的在D盤),輸入下面代碼:
python naruto.py
輸出結(jié)果為:
Trying: multiply(4, 3) Expecting: 12 ok Trying: multiply('a', 3) Expecting: 'aaa' ok 1 items had no tests: __main__ 1 items passed all tests: 2 tests in __main__.multiply 2 tests in 2 items. 2 passed and 0 failed. Test passed.
上面啟動測試的方式是在__main__函數(shù)中調(diào)用了doctest.testmod()方法。
如果__main__函數(shù)有其他用途,不方便調(diào)用doctest.testmod()方法,那么可以用另外一種執(zhí)行測試的方法,在cmd中輸入:
$ python -m doctest naurto.py $ python -m doctest -v naruto.py
關(guān)于python中doctest怎么嵌入源碼就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
網(wǎng)頁標(biāo)題:python中doctest怎么嵌入源碼-創(chuàng)新互聯(lián)
網(wǎng)頁URL:http://fisionsoft.com.cn/article/dddsdj.html