您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關python中doctest怎么嵌入源碼,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
下面的代碼只有一個函數,里面嵌入了兩個doctest測試用例,文件名為naruto.py:
''' 這個例子展示如何在源碼中嵌入doctest用例。 '>>>' 開頭的行就是doctest測試用例。 不帶 '>>>' 的行就是測試用例的輸出。 如果實際運行的結果與期望的結果不一致,就標記為測試失敗。 ''' 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測試用例,一個位置是模塊的最開頭,另一個位置是函數聲明語句的下一行(就像上面的例子這樣)。除此之外的其它地方不能放,放了也不會執行。
verbose參數,如果設置為True則在執行測試的時候會輸出詳細信息。默認是False,表示運行測試時,只有失敗的用例會輸出詳細信息,成功的測試用例不會輸出任何信息。
將上面提到的文件放在D盤(或者其他你覺得方便的目錄),打開cmd命令行,切換到naruto.py所在的目錄(我的在D盤),輸入下面代碼:
python naruto.py
輸出結果為:
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__函數中調用了doctest.testmod()方法。
如果__main__函數有其他用途,不方便調用doctest.testmod()方法,那么可以用另外一種執行測試的方法,在cmd中輸入:
$ python -m doctest naurto.py $ python -m doctest -v naruto.py
關于python中doctest怎么嵌入源碼就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。