pytest:協助你撰寫更好的程式

pytest 架構讓你可以輕鬆撰寫簡短、可讀的測試,並可擴充支援應用程式和函式庫的複雜功能測試。

pytest 需求:Python 3.8+ 或 PyPy3。

PyPI 套件名稱pytest

一個快速範例

# content of test_sample.py
def inc(x):
    return x + 1


def test_answer():
    assert inc(3) == 5

執行它

$ pytest
=========================== test session starts ============================
platform linux -- Python 3.x.y, pytest-8.x.y, pluggy-1.x.y
rootdir: /home/sweet/project
collected 1 item

test_sample.py F                                                     [100%]

================================= FAILURES =================================
_______________________________ test_answer ________________________________

    def test_answer():
>       assert inc(3) == 5
E       assert 4 == 5
E        +  where 4 = inc(3)

test_sample.py:6: AssertionError
========================= short test summary info ==========================
FAILED test_sample.py::test_answer - assert 4 == 5
============================ 1 failed in 0.12s =============================

由於 pytest 的詳細斷言內省,只使用純粹的 assert 陳述。請參閱 開始使用,取得使用 pytest 的基本入門說明。

功能

  • 詳細說明失敗的 斷言陳述(無需記住 self.assert* 名稱)

  • 自動發現測試模組和函式

  • 模組化固定裝置,用於管理小型或參數化長期測試資源

  • 可以立即執行 unittest(包括試用版)測試套件

  • Python 3.8+ 或 PyPy 3

  • 豐富的插件架構,擁有超過 1300 個外部插件和蓬勃發展的社群

文件

  • 開始使用 - 安裝 pytest 並在短短 20 分鐘內掌握其基礎知識

  • 操作指南 - 分步指南,涵蓋廣泛的使用案例和需求

  • 參考指南 - 包含完整的 pytest API 參考、插件清單等

  • 說明 - 背景、關鍵主題討論、對高階問題的解答

錯誤/要求

請使用GitHub 問題追蹤器提交錯誤或要求功能。

支援 pytest

Open Collective是一個開放且透明社群的線上募資平台。它提供工具,讓您可以募款並在完全透明的狀況下分享您的財務狀況。

它是個人和公司首選的平台,他們希望直接對專案進行一次性或每月捐款。

pytest 集體中查看更多詳細資訊。

企業用 pytest

作為 Tidelift 訂閱的一部分提供。

pytest 和數千個其他套件的維護人員正在與 Tidelift 合作,為您用於建構應用程式的開源依賴項提供商業支援和維護。節省時間、降低風險並改善程式碼健全性,同時支付您使用的確切依賴項的維護人員費用。

了解更多資訊。

安全性

pytest 從未與安全漏洞相關聯,但在任何情況下,若要報告安全漏洞,請使用Tidelift 安全聯絡人。Tidelift 將協調修復和揭露。