[跟著官方文檔學pytest][一][學習筆記]

      網友投稿 942 2022-05-29

      pytest框架使編寫小型、可讀的測試變得容易,并且可以拓展以支持應用程序和庫的復雜功能測試。

      pytest要求Python版本3.7+。

      PyPI包名:pytest。

      安裝pytest

      在命令提示符中輸入pip指令安裝pytest

      pip install -U pytest

      檢查版本

      >pytest --version pytest 7.1.2

      [跟著官方文檔學pytest][一][學習筆記]

      寫第一個pytest

      本例中采用的Python IDE為PyCharm 2022.1 (Community Edition)

      創建一個名為test_sample.py的文件輸入以下代碼

      # content of test_sample.py def inc(x): return x + 1 def test_answer(): assert inc(3) == 5

      輸出結果為:

      [100%]是指運行所有測試用例的總體進度。完成后,pytest會顯示一個失敗報告,因為 func(3)不返回 5。

      運行多個pytest

      pytest將在當前目錄及其子目錄中運行test_.py或_test.py格式的所有文件。更一般地說,它遵循標準的測試發現規則。

      斷言引發某個異常

      使用raises幫助程序斷言某些代碼會引發異常:

      # content of test_sysexit.py import pytest def f(): raise SystemExit(1) def test_mytest(): with pytest.raises(SystemExit): f()

      輸出結果:

      對一個類中的多個測試進行分組

      開發多個測試后,可能希望將它們分組到一個類中。pytest使創建包含多個測試的類變得容易:

      # content of test_class.py class TestClass: def test_one(self): x = "this" assert "h" in x def test_two(self): x = "hello" assert hasattr(x, "h")

      pytest按照其Python測試發現約定發現所有測試,因此它同時找到test_前綴函數。無需對任何內容進行子類化,但請確保在類前面加上Test前綴,否則將跳過該類。我們可以通過傳遞模塊的文件名來運行該模塊:

      第一個測試通過,第二個測試失敗。可以輕松查看斷言中的中間值,以幫助您了解失敗的原因。

      由于以下原因,將類中的測試分組可能有以下好處:

      組織測試

      在特定類中為測試共享工具

      在類級別應用標記并讓它們隱式應用于所有測試

      在類內對測試進行分組時需要注意的是,每個測試都有一個唯一的類實例。讓每個測試共享同一個類實例將非常不利于測試隔離,并且會促進不良的測試實踐。概述如下:

      # content of test_class_demo.py class TestClassDemoInstance: value = 0 def test_one(self): self.value = 1 assert self.value == 1 def test_two(self): assert self.value == 1

      pytest -k TestClassDemoInstance -q

      請求用于功能測試的唯一臨時目錄

      pytest提供了內置的固定設置/函數參數來請求任意資源,例如唯一的臨時目錄:

      # content of test_tmp_path.py def test_needsfiles(tmp_path): print(tmp_path) assert 0

      在測試函數簽名中列出名稱tmp_path,pytest將在執行測試函數調用之前查找并調用fixture工廠以創建資源。在測試運行之前,pytest會創建一個唯一的每個測試調用的臨時目錄:

      Python

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:多功能管理文檔!紙質文檔管理讓你智能辦公!
      下一篇:云脈紙質文檔管理解決方案 文檔管理系統
      相關文章
      亚洲国产品综合人成综合网站| 亚洲国产第一页www| 久久丫精品国产亚洲av| 亚洲伊人久久成综合人影院| 亚洲av乱码中文一区二区三区| 亚洲娇小性xxxx| 亚洲国产视频网站| 亚洲精品免费在线| 91亚洲性爱在线视频| 亚洲成人动漫在线观看| 亚洲精品成人久久| 亚洲国产成人精品久久| 亚洲人成在线中文字幕| 激情内射亚洲一区二区三区爱妻| 亚洲性色高清完整版在线观看| 亚洲精品自拍视频| 最新国产成人亚洲精品影院| 亚洲一级高清在线中文字幕| 91嫩草亚洲精品| 亚洲13又紧又嫩又水多| 亚洲情A成黄在线观看动漫软件| 亚洲天堂2016| 亚洲精品无码中文久久字幕| 亚洲hairy多毛pics大全| 国产天堂亚洲精品| 国产成人精品久久亚洲| 亚洲熟妇丰满多毛XXXX| 国产A在亚洲线播放| 亚洲天堂久久精品| 亚洲中文字幕久久精品无码2021| 亚洲一欧洲中文字幕在线| 亚洲乱色伦图片区小说| 国产天堂亚洲精品| 亚洲夜夜欢A∨一区二区三区| 国产亚洲综合色就色| 亚洲资源在线观看| 久久亚洲国产成人影院网站| 亚洲精品少妇30p| 亚洲αv在线精品糸列| 亚洲国产高清人在线| 亚洲色图综合网站|