python中doctest如何嵌入原始碼?
之前看過文件測試的小夥伴,已經瞭解到了它的妙用。doctest屬於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嵌入原始碼的方法。更多Python學習推薦:。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2144/viewspace-2832400/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何在batch指令碼中嵌入python程式碼BAT指令碼Python
- 如何檢視python原始碼Python原始碼
- C/C++中嵌入PythonC++Python
- go 中 sort 如何排序,原始碼解讀Go排序原始碼
- Python中的List物件(《Python原始碼剖析》筆記四)Python物件原始碼筆記
- Python中的字串物件(《Python原始碼剖析》筆記三)Python字串物件原始碼筆記
- PowerPoint中如何嵌入聲音檔案
- 如何在 JavaScript 物件中嵌入私有成員JavaScript物件
- maven中如何指定原始碼的字符集Maven原始碼
- 如何呼叫python中的shell指令碼?Python指令碼
- Python如何嵌入C/C++進行開發PythonC++
- Python中的整數物件(《Python原始碼剖析》筆記二)Python物件原始碼筆記
- 如何利用python原始碼下載進行下單?Python原始碼
- 如何把Qlik Sense嵌入到Web應用中Web
- 手機設定在文章中嵌入程式碼塊
- 如何“修改”底層框架原始碼中的某些功能框架原始碼
- 如何將背景音樂嵌入到PPT檔案中
- Python原始碼分析-PyDictObjectPython原始碼Object
- 原始碼安裝python原始碼Python
- SVG如何嵌入htmlSVGHTML
- 如何在Visual Studio中除錯.NET原始碼除錯原始碼
- 「從原始碼中學習」Vue原始碼中的JS騷操作原始碼VueJS
- Java 原始碼如何分析?Java原始碼
- opencv中svm原始碼OpenCV原始碼
- PostgreSQL 原始碼解讀(3)- 如何閱讀原始碼SQL原始碼
- 圖譜嵌入式原始操作
- python怎樣嵌入cPython
- 如何實現在react現有專案中嵌入Blazor?ReactBlazor
- 如何在現有的Vue專案中嵌入 Blazor專案?VueBlazor
- 如何解決 VLC 影片嵌入字幕中遇到的錯誤
- Python程式碼混淆工具,Python原始碼保密、加密、混淆Python原始碼加密
- python 坦克大戰原始碼Python原始碼
- Python 原始碼閱讀 —— intPython原始碼
- Python原始碼閱讀——listPython原始碼
- Python 原始碼閱讀——tuplePython原始碼
- Python 原始碼閱讀——dictPython原始碼
- embed-c:可將C程式碼直接嵌入到Rust程式碼中C程式Rust
- python3中編碼如何獲取網頁?Python網頁