文檔測試

文檔測試

對于Python這種腳本語言來說,有很多情況都可以在命令行里直接執行,所以可以通過編寫Python文件直接在命令行里看到測試的結果,就顯得很方便。對于這種情況,Python專門有一個doctest模塊來幫助我們測試自己的代碼。
  最主要的作用就是能夠把我們寫的代碼,以及我們預期的結果寫下文件的注釋里面,doctest類會自動幫我們提取出測試代碼,并比較測試結果和預期結果,如果不一致的話,會在命令行里面顯示錯誤,如果全部一致的話,命令行不會有出錯提示。下面是一個小例子。

# -*- 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))

代開命令行,將目錄轉到文件所在的目錄下面,輸入下面的命令:

>>>python temp.py

運行結果如下:

運行結果

而且if __name__ == '__main__':保證了測試只會在命令行調用時才會起作用,在其他程序調用時是不會生效的。
  又學到了一個挺有用的測試工具!!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容