亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python的pytest測試框架怎么用

發布時間:2022-02-23 10:49:28 來源:億速云 閱讀:158 作者:iii 欄目:開發技術

今天小編給大家分享一下Python的pytest測試框架怎么用的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

pytest 可謂是 Python 測試框架中的元老了,十分完善成熟,其主要有以下 6 個特點:

  • 簡單靈活,容易上手,文檔豐富;

  • 支持參數化,可以細粒度地控制要測試的測試用例;

  • 能夠支持簡單的單元測試和復雜的功能測試,還可以用來做 selenium / appnium 等自動化測試、接口自動化測試(pytest+requests);

  • pytest 具有很多第三方插件,并且可以自定義擴展,比較好用的如 pytest-selenium(集成 selenium )、pytest-html(完美html 測試報告生成)、pytest-rerunfailures(失敗 case 重復執行)、pytest-xdist(多 CPU 分發)等;

  • 測試用例的 skip 和 xfail 處理;

  • 可以很好的和 CI 工具結合,例如 jenkins

第一步:安裝和簡單使用

安裝:

pip install pytest

簡單使用:

新建一個test_sample.py文件,輸入以下代碼:

def input_number(i):

    return i + 1

def test_answer():

    assert inc(2) == 3

在 test_sample.py 文件中,點擊執行 pytest 命令,pytest 將運行當前目錄及其子目錄下所有名稱為“test_.py” 或 “_test.py”的文件。

上述代碼中我們使用了 assert 語句來驗證測試期望值,pytest 中有一種斷言反思機制,能智能地報告 assert 表達式的中間值,這個測試返回了一個失敗報告,因為 input_number(2) 沒有返回 4 。 

第二步:配置文件

pytest 配置文件可以改變 pytest 的運行方式,它是一個固定的文件 pytest.ini 文件,讀取配置信息,按指定的方式去運行。

[pytest]

# 添加命令行參數

addopts = -s

# 文件搜索路徑

testpaths = ./scripts

# 文件名稱

python_files = test_*.py

# 類名稱

python_classes = Test*

# 方法名稱

python_functions = test_*

addopts

addopts 參數可以更改默認命令行選項,這個當我們在 cmd 輸入指令去執行用例的時候,會用到,比如我想測試完生成報告,指令比較長

pytest -s —html=report.html

每次輸入這么多,不太好記住,于是可以加到 pytest.ini 里

在配置文件中修改 addopts = -s —html = report.html

這樣我下次打開 cmd,直接輸入 pytest,它就能默認帶上這些參數了

testpaths

默認的情況下,pytest將會進入到當前目錄下的目錄和文件中,去收集測試用例(test_開頭的函數)。但是很多時候我們只想搜索固定的某一個文件夾,比如項目目錄下的scripts文件夾。這樣的話,我們可以通過配置文件來是想這個功能。

testpaths = ./scripts

python_files

pytest 默認會找 test 開頭的 py 文件,如果我們想指定某個文件或者指定某些有規律的文件名可以使用這個參數來進行修改

python_files = test_*.py

python_classes

pytest 默認會找 Test 開頭的類,如果我們想指定某個類或者指定某些有規律的類名可以使用這個參數來進行修改

python_classes = Test*

python_functions

pytest 默認會找 test 開頭的函數,如果我們想指定某個函數或者指定某些有規律的函數名可以使用這個參數來進行修改

python_functions = test_*

第三步:斷言

斷言是一種除錯機制,用于驗證代碼是否符合編碼人員的預期。編碼人員在開發期間應該對函數的參數、代碼中間執行結果合理地使用斷言機制,確保程序的缺陷盡量在測試階段被發現。

簡單地講,斷言就是對某種假設條件進行檢查。

assert 預期結果 == 實際結果

def test_cut(self):

a = 5

b = 5

cut_num = a - b

assert 10 == cut_num

assert 后面的 10 是一個期望的值,cut_num 是實際得出的值,pytest 框架會自行判斷二者的關系是否等價(==),當條件成立時,則斷言成功,腳本通過。條件不成立時,則斷言失敗,腳本不通過。

以上就是“Python的pytest測試框架怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临沧市| 莱芜市| 布尔津县| 霍州市| 湘乡市| 沂水县| 金阳县| 临朐县| 辽源市| 井陉县| 土默特左旗| 黄平县| 柳河县| 星座| 十堰市| 云林县| 杭锦旗| 嘉荫县| 大连市| 营口市| 遵义县| 古交市| 乐平市| 石首市| 富宁县| 闵行区| 会同县| 磐安县| 青铜峡市| 陆河县| 庄浪县| 云林县| 察哈| 平谷区| 元氏县| 东丰县| 许昌县| 东兴市| 株洲县| 天全县| 呼伦贝尔市|