pytest
命名規則
Pytest單元測驗中的類名和方法名必須是以test開頭,執行中只能找到test開頭的類和方法,比unittest更加嚴謹
Pytest的setup, setup_class和teardown, teardown_class函式(和unittest執行效果一樣)
運行于測驗方法的始末,即:運行一次測驗函式會運行一次setup和teardown
運行于測驗方法的始末,但是不管有多少測驗函式都只執行一次setup_class和 teardown_class
Pytest生成自帶的html測驗報告
直接執行pytest.main()
【自動查找當前目錄下,以test_開頭的檔案或者以_test結尾的py檔案】(課堂練習_test)
pytest.main("模塊.py")
【運行指定模塊下,運行所有test開頭的類和測驗用例】
pip install pytest-html() :python自帶的插件
pytest.main(["--html=./report.html","test3.py"])
pytest.main(["--html=./report.html","test3.py"])

Pytest呼叫陳述句
pytest.main([‘--html=./report.html’,‘模塊.py::類::test_a_001'])運行指定模塊指定類指定用例,冒號分割,并生成測驗報告 pytest.main(['-x','--html=./report.html','t12est000.py'])
#-x出現一條測驗用例失敗就退出測驗 -v: 豐富資訊模式, 輸出更詳細的用例執行資訊
-s:顯示print內容
-q: 簡化結果資訊,不會顯示每個用例的檔案名 Pytest的運行方式 . 點號,表示用例通過
F 表示失敗 Failure
E 表示用例中存在例外 Error

allure
Allure是一款輕量級并且非常靈活的開源測驗報告框架, 它支持絕大多數測驗框架, 例如TestNG、Pytest、JUint等,它簡單易用,易于集成, 首先要安裝allurepip install allure-pytest
allure-pytest是Pytest的一個插件,通過它我們可以生成Allure所需要的用于生成測驗報告的資料 Allure Allure常用的幾個特性 @allure.feature # 用于描述被測驗產品需求
@allure.story # 用于描述feature的用戶場景,即測驗需求
with allure.step(): # 用于描述測驗步驟,將會輸出到報告中
allure.attach # 用于向測驗報告中輸入一些附加的資訊,通常是一些測驗資料,截圖等 Pytest和allure結合生成html格式的測驗報告
# 生成測驗報告json
pytest.main([ '--alluredir', 'report/result', 'test001.py']) ## 將測驗報告轉為html格式 --html=../report.htmlsplit = 'allure ' + 'generate ' + './report/result ' + '-o ' + './report/html ' + '--clean'os.system(split)#system函式可以將字串轉化成命令在服務器上運行 Pytest和allure效果展示
------------------------------------------------------------------------------------------------------------ 下面展示完整的代碼效果圖: 首先創建一個帶__init__.py的檔案夾
下一步:創建一個Calc.py 用來寫開發人員的代碼!

下一步: 寫單元測驗pytest
直接執行pytest.main()
【自動查找當前目錄下,以test_開頭的檔案或者以_test結尾的py檔案
【運行指定模塊下,運行所有test開頭的類和測驗用例】

運行結果:


Pytest生成自帶的html測驗報告
點擊上圖的report.py,再點瀏覽器出現如下圖測驗報告:

pytest.main([‘--html=./report.html’,‘模塊.py::類::test_a_001'])
運行指定模塊指定類指定用例,冒號分割,并生成測驗報告

#-x出現一條測驗用例失敗就退出測驗

-v: 豐富資訊模式, 輸出更詳細的用例執行資訊:

-s:顯示print內容:

-q: 簡化結果資訊,不會顯示每個用例的檔案名

Pytest和allure結合


由于json形式 觀賞性不高 ,要把他改成為html格式


Pytest和allure效果展示


這就是最終的結果圖 簡單吧小伙伴們,動動你們的小手點個贊吧,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/72640.html
標籤:Python
下一篇:資料結構與離散數學的關系
