上一篇介紹了如何運行pytest代碼,以及用例的一些執行規則,執行用例發現我們中間print輸出的內容,結果沒有給我們展示出來,那是因為pytest執行時,后面需要帶上一些參數。
參數內容
我們可以在cmd中通過輸入 pytest -h 或者pytest --help 來查看幫助內容
奈何安靜屏幕小,只寫了一部分。

安靜這么多一點點的給大家介紹,有的安靜也沒有遇到過,在后續遇到后,給大家分享,安靜先把常用的給大家列出來,並且舉例說明
安靜簡單的用一段代碼進行展示,后面有需要補充的,安靜會進行在代碼中補充。
import pytest class Test_01: def test_001(self): print('Test_01下的用例001') assert 1 == 1 def test_002(self): print('Test_01下的用例002') assert 1 == 2 def test_003(self): print('Test_01下的用例003') assert 3 == 3 if __name__ == '__main__': pytest.main()
pytest - s
-s:執行用例,攜帶詳細信息,比如打印的print內容
通過cmd進行執行,發現已經詳細內容展示出來了

pytest -x
-x:遇到錯誤的用例,立即退出執行,並輸出結果

從上圖可以看到一共3條用例,執行了2條,其中執行到第2條的時候就已經程序就退出了。
pytest -k
-k:表示加需要執行的用例項,-k后面可以是測試函數名,也可以是類名,也可以是模塊名,以及目錄名稱

也可以通過加入not來不執行一些用例,這里的not要和用例名放在一起用引號

pytest xxx.py
::類::用例:可以通過這種形式進行指定用例執行

pytest -m
-m:執行被標記的用例
標記需要用到pytest中的裝飾器 @pytest.mark.標記名稱
import pytest class Test_01: @pytest.mark.anjing def test_001(self): print('Test_01下的用例001') assert 1 == 1 def test_002(self): print('Test_01下的用例002') assert 1 == 2 @pytest.mark.anjing def test_003(self): print('Test_01下的用例003') assert 3 == 3 if __name__ == '__main__': pytest.main()

pytest -v
-v:表示查看詳細的報告內容

pytest -q
-q:表示簡則的測試報告,運行成功通過“.”表示,運行失敗通過"F"表示

pytest --collect-only
--collect-only:表示把待執行的用例全部展示出來。

pytest --maxfail=n
--maxfail=n:其中n表示失敗的次數,運行失敗n次后,進行停止測試
# coding:utf-8 class Test: def test_01(self): print('這是用例01') assert 1 == 1 def test_02(self): print('這是用例02') assert 1 == 2 def test_03(self): print('這是用例03') assert 3 == 4 def test_04(self): print('這是用例04') assert 4 == 4

pytest --lf
--lf:只執行上次失敗的用例

pytest --tb
--tb=no:不展示用例失敗的錯誤詳情

--tb=line:展示用例失敗的代碼具體行數。下圖結果是在11行

--tb=short:展示更加詳細的錯誤信息

pytest --durations
--duration=N:表示把最耗時間的用例展示出來,N表示最慢的N個
安靜的代碼運行都很快,把其中一個代碼加上睡眠,從圖中可以看出來,test_01文件中的test_03運行最慢。

安靜簡單的列舉了常用的幾種,大家如果還想要了解可以查閱官方文檔和進行pytest -h 查看詳情
