<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Pytest之收集用例及命令行參數

          共 2324字,需瀏覽 5分鐘

           ·

          2020-07-28 17:20

          VOL 146

          28

          2020-07

          今天距2021年156天

          這是ITester軟件測試小棧第146次推文

          點擊上方藍字“ITester軟件測試小棧“關注我,每周一、、五早上?07:30準時推送。


          微信公眾號后臺回復“資源測試工具包”領取測試資源,回復“微信群”一起打怪升級。


          本文2010字,閱讀約需7分鐘





          在上一篇Pytest系列文章:Pytest之基本介紹,主要介紹Pytest特點、安裝配置及簡單運行。

          以下主要介紹:Pytest的用例收集規(guī)則及命令行參數詳解。


          用例收集

          1

          用例收集規(guī)則

          • 從一個或者多個目錄開始查找,你可以在命令行指定文件或者目錄,如果未指定那么從當前目錄開始收集用例;

          • 在該目錄和所有子目錄下遞歸查找測試模塊;

          • 測試模塊是指文件名為test_*.py或者*_test.py的文件;

          • 在測試模塊中查找以test_開頭的函數;

          • 查找名字以Test開頭的類。其中首先篩選掉包含__init__()函數的類,再查找類中以test_開頭的類方法。



          2

          ?運行收集的用例

          現有項目結構如下:


          具體代碼:

          login/test_login.py

          class?TestLogin:
          ????def?test_demo01(self):
          ????????a?=?1
          ????????assert?a?==?1
          ????def?add(self):
          ????????b?=?1
          ????????c?=?2
          ????????assert?b?+?c?==?3

          pay/test_pay.py

          def?test_pay():
          ????name?=?"vivi"
          ????assert?"v"?in?name

          test_demo.py

          def?test_demo02():
          ????print("這是demo02")
          ????a?=?1
          ????assert?a?==?1




          3

          運行測試用例

          切換到項目路徑,在命令行輸入:pytest -v

          輸出結果為:

          根據用例收集規(guī)則,TestLogin類中add方法不是以test開頭,所以pytest不會收集。



          命令行參數

          1

          查看命令行參數

          命令行模式下,輸入:pytest --help

          說明:出現詳細的命令行參數。




          2

          命令行參數詳解


          pytest -v

          說明:可以輸出用例更加詳細的執(zhí)行信息,比如用例所在的文件及用例名稱等。


          pytest -s

          說明:輸出用例中的調式信息,比如print的打印信息等。

          test_demo.py

          def?test_demo02():
          ????print("這是demo02")
          ????a?=?1
          ????assert?a?==?1

          命令行輸入:pytest -s test_demo.py



          pytest -m

          說明:用于標記測試并分組,執(zhí)行特定的測試用例。

          這個在后續(xù)打標記文章詳細解釋,此處暫不介紹。



          pytest -k

          說明:可以通過表達式運行指定的測試用例。

          比如使用命令:pytest -k "test_demo01 or test_demo02",就會指定運行test_demo01和test_demo02兩條用例。



          pytest -q

          說明:簡化輸出信息。


          pytest -x

          說明:遇到錯誤或者用例不通過,則退出執(zhí)行。

          手動將login/test_login.py中的用例改成不通過。


          輸入命令:pytest -v -x

          收集用例3個,但第二個test_demo01用例執(zhí)行失敗,就會全局停止執(zhí)行,所以第三個用例將不會執(zhí)行。


          pytest --lf

          說明:--last-failed 只重新運行上次運行失敗的用例(或如果沒有失敗的話會全部跑)。

          命令行輸入: pytest -v --lf

          通過運行結果看出,本次用例只是運行了上次運行錯誤的測試用例test_demo01。


          pytest --ff

          說明:--failed-first,先執(zhí)行完上次失敗的測試后,再執(zhí)行上次正常的測試用例。

          輸入命令:pytest -v --ff

          通過運行結果看出,本次運行,先運行了上次失敗的用例,然后執(zhí)行正常的測試用例。


          pytest --maxfail=num

          說明:用例運行時,允許的最大失敗次數,超過則立即停止執(zhí)行。

          輸入命令:pytest -v --maxfail=2


          ⑩?運行指定用例

          模塊、類、函數及方法之間用::進行分割。


          我們先看下之前運行的結果圖。


          比如想運行TestLogin類下的測試用例。

          使用命令:pytest -v login/test_login.py::TestLogin




          以上

          That‘s all
          更多系列文章
          敬請期待

          ITester軟件測試小棧
          往期內容寵幸


          1.Python接口自動化-接口基礎(一)

          2.Python接口自動化-接口基礎(二)


          3.Python接口自動化-requests模塊之get請求


          4.Python接口自動化-requests模塊之post請求

          5.Python接口自動化之cookie、session應用


          6.Python接口自動化之Token詳解及應用


          7.Python接口自動化之requests請求封裝


          8.Python接口自動化之pymysql數據庫操作


          9.Python接口自動化之logging日志


          10.Python接口自動化之logging封裝及實戰(zhàn)

          想獲取更多最新干貨內容
          快來星標 置頂 關注

          << ?滑動查看下一張圖片 ?>>


          ?后臺?回復"資源"取干貨
          回復"微信群"一起打怪升級

          測試交流Q群:727998947

          點亮一下在看,你更好看



          瀏覽 56
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲AV无码久久精品蜜桃小说 | 日韩AV中文字幕在线免费观看 | 少妇高清视频 | 一道本无码在线播放 | 精品久久久久久久久久久久 |