時間:2019-08-17 15:57:04 作者:無名 瀏覽量:14
小白必看的全功能的Python測試框架教程
大家好,隨著人們對生活的質(zhì)量要求越來越高,電腦已經(jīng)成為人們生活和工作中的必需品,電腦是有很多軟件系統(tǒng)程序組成,如果想要學好電腦,我們必須對這些軟件系統(tǒng)程序有所了解,今天小編就帶領(lǐng)大家學習如何使用全功能的Python測試框架歐洲五大聯(lián)賽即將開始
一.第一步——安裝和簡單使用歐洲五大聯(lián)賽即將開始
pytest是一個非常成熟的全功能的Python測試框架,主要特點有以下幾點:
•1、簡單靈活,容易上手,文檔豐富;歐洲五大聯(lián)賽即將開始
•2、支持參數(shù)化,可以細粒度地控制要測試的測試用例;
•3、能夠支持簡單的單元測試和復雜的功能測試,還可以用來做selenium/appnium等自動化測試、接口自動化測試(pytest+requests);
•4、pytest具有很多第三方插件,并且可以自定義擴展,比較好用的如pytest-selenium(集成selenium)、pytest-html(完美html測試報告生成)、pytest-rerunfailures(失敗case重復執(zhí)行)、pytest-xdist(多CPU分發(fā))等;
•5、測試用例的skip和xfail處理;
•6、可以很好的和CI工具結(jié)合,例如jenkins
安裝
pip3 install pytest
簡單使用
新建一個test_sample.py文件,輸入以下代碼:
definc(x):
returnx+1
deftest_answer():
assertinc(3)==5
在test_sample.py文件的目錄下,執(zhí)行pytest命令,pytest將運行當前目錄及其子目錄下所有名稱為“test_*.py” 或 “*_test.py”的文件
小白必看的全功能的Python測試框架教程圖1歐洲五大聯(lián)賽即將開始
我們使用了assert語句來驗證測試期望值,pytest中有一種斷言反思機制,能智能地報告assert表達式的中間值,這個測試返回了一個失敗報告,因為inc(3)沒有返回5
二.第二步——配置文件歐洲五大聯(lián)賽即將開始
pytest配置文件可以改變pytest的運行方式,它是一個固定的文件pytest.ini文件,讀取配置信息,按指定的方式去運行。
[pytest]
#添加命令行參數(shù)
addopts=-s
#文件搜索路徑
testpaths=./scripts
#文件名稱
python_files=test_*.py
#類名稱
python_classes=Test*
#方法名稱
python_functions=test_*
addopts
addopts參數(shù)可以更改默認命令行選項,這個當我們在cmd輸入指令去執(zhí)行用例的時候,會用到,比如我想測試完生成報告,指令比較長
pytest -s —html=report.html
每次輸入這么多,不太好記住,于是可以加到pytest.ini里
在配置文件中修改addopts = -s —html=report.html
這樣我下次打開cmd,直接輸入pytest,它就能默認帶上這些參數(shù)了
testpaths
默認的情況下,pytest將會進入到當前目錄下的目錄和文件中,去收集測試用例(test_開頭的函數(shù))。但是很多時候我們只想搜索固定的某一個文件夾,比如項目目錄下的scripts文件夾。這樣的話,我們可以通過配置文件來是想這個功能
testpaths = ./scripts
python_files
pytest默認會找test開頭的py文件,如果我們想指定某個文件或者指定某些有規(guī)律的文件名可以使用這個參數(shù)來進行修改
python_files = test_*.py
python_classes
pytest默認會找Test開頭的類,如果我們想指定某個類或者指定某些有規(guī)律的類名可以使用這個參數(shù)來進行修改
python_classes = Test*
python_functions
pytest默認會找test開頭的函數(shù),如果我們想指定某個函數(shù)或者指定某些有規(guī)律的函數(shù)名可以使用這個參數(shù)來進行修改
python_functions = test_*
三.第三步——斷言
編寫代碼時,我們總是會做出一些假設(shè),斷言就是用于在代碼中捕捉這些假設(shè)。斷言表示為一些布爾表達式,程序員相信在程序中的某個特定點該表達式值為真,可以在任何時候啟用和禁用斷言驗證,因此可以在測試時啟用斷言而在部署時禁用斷言。同樣,程序投入運行后,最終用戶在遇到問題時可以重新啟用斷言。