doctest 模組尋找像python互動式**的文字,然後執行這些**來確保它們的確就像展示的那樣正確執行,類似於單元測試
doctest測試用例放在兩個地方:
1、函式或者方法下的注釋裡面
2、模組的開頭
它可以用來測試**,以測試該函式、類、類方法的功能是否正確。
在函式、類或方法的說明性文件中,以》作為開始的內容表示一行測試**,並且接下來的一行則明確該測試**的輸出結果。
1#content of test_doctest.py
2def
something():
3"""
a doctest in a docstring
4>>> something()542
6"""
7return 4289
defnum(n):
10"""
11function:斐波那契數列
12>>> num(5)
13[0, 1, 1, 2, 3]
14"""
15 titles =
16 a =0
17 b = 1
18for i in
range(n):
1920 a, b = b, a+b
2122
return
titles
2324
25if
__name__ == '
__main__':
26import
doctest
27 doctest.testmod(verbose=true)
結果:
1 c:\users\administrator\pycharmprojects\untitled2\venv\scripts\python.exe c:/users/administrator/pycharmprojects/untitled2/forpytest/test_doctest.py2trying:
3 num(5)
4expecting:
5 [0, 1, 1, 2, 3]6ok
7trying:
8something()
9expecting:
10 42
11ok
12 1items had no tests:
13__main__
14 2items passed all tests:
15 1 tests in
__main__
.num
16 1 tests in
__main__
.something
17 2 tests in 3items.
18 2 passed and
0 failed.
19test passed.
2021 process finished with exit code 0
在執行 doctest.testmod() 函式時,它會執行該模組中各成員說明性文件包含的測試**,並將執行結果和指定的結果做比對,如果一致,則什麼也不輸出;反之,則輸出以下提示資訊:
顯示在哪個原始檔的哪一行。
failed example,顯示是哪個測試用例出錯了。
expected,顯示程式期望的輸出結果。也就是在「>>>命令」的下一行給出的執行結果,它就是期望結果。
got,顯示程式實際執行產生的輸出結果。只有當實際執行產生的輸出結果與期望結果一致時,才表明該測試用例通過。
參考:官方文件:
部落格:
任務模組 報告模組 日誌模組
需求背景 報告模組 怎麼來處理這個報告的問題,報告是非常重要的一塊,1,可以看到每一次執行的情況,多少通過了,多少失敗了 2,可以看到執行的日誌,每一步的日誌,失敗了,我要知道失敗在 了,3,每次都要有報告 業務設計 1,任務列表,任務名稱,檢視任務詳情,報告列表,執行的功能,2,任務詳情,每乙個用...
模組之shutil模組模組詳解
shutil模組是高階的 檔案 資料夾 壓縮包 處理模組 shutil.copyfileobj fsrc,fdst length 將檔案內容拷貝到另乙個檔案中 shutil.copyfile src,dst 拷貝檔案 shutil.copymode src,dst 僅拷貝許可權。內容 組 使用者均不...
常用模組 time模組,datetime模組
print time.time print type time.time 1539594222.698943 時間戳是指從1970年1月1日到現在經歷秒數,返回乙個浮點數。print time.strftime y m d h m s p 需要規定格式 y年 m月 d日 h時 m分 s 分 p上午或...