pytest插件
pytest擁有豐富的第三方插件,在執(zhí)行測試用例的過程中實現(xiàn)某些功能或是更好的幫助查看測試結果,下面記錄幾個目前運用到的插件。
pytest-html
在測試完成后,可以利用這個插件輸出html報告,首先下載插件pytest-html。
在運行時輸入下方參數(shù):
pytest test_v1.py --html=report.html
運行完成后會在測試文件所在的目錄下創(chuàng)建出report.html文件,在輸出結果中也會標記該文件的地址。
如果有分享出去的需求則需要把css樣式合并到html里面,如下所示:
pytest test_v1.py --html=report.html --self-contained-html
pytest-repeat
如果在執(zhí)行多個測試用例時,個別用例需要重復執(zhí)行一定的次數(shù),可以用這個插件來實現(xiàn)。同樣首先需要進行下載插件pytest-repeat
在需要執(zhí)行n次的用例前方,打標記即可。
@pytest.mark.repeat(n)
--count,--repeat-scope
--count:命令行參數(shù),指定重復運行的次數(shù)
--repeat-scope:命令行參數(shù),指定重復運行的范圍,默認function,還有class、module、session。
pytest --count=3 --repeat-scope=class test.py
#test.py文件中的類,每個類重復執(zhí)行三次
pytest-sugar
輸出的結果更好看一些,只需進行下載,運行時自動看到效果。
pytest-emoji
單純的為了輸出更有意思一些,測試結果是用emoji表情來進行標識。下載完成后,運行時需要加上--emoji參數(shù)
pytest test_v1.py --emoji
然后,結果就會變成這樣:

pytest參數(shù)
除了上述插件,pytest在運行時也可以通過參數(shù)來靈活控制測試用例的執(zhí)行情況、查看運行結果。
-s:打印出測試函數(shù)中的print語句,如果不加-s,是不會打印出來的。
-v:打印出更詳細的測試結果。
-q:與-v相反,打印出更簡潔的測試結果。
-l:如果測試用例執(zhí)行失敗,則會打印出該測試用例包含的局部變量(無需寫print)。
-k:執(zhí)行模糊匹配成功的測試用例。例如pytest -k 'api' test_v1.py,則僅會執(zhí)行在test_v1.py中的測試函數(shù)名稱中包含api的測試用例。
自我記錄,有錯誤歡迎指正~