Pytest:幫助您編寫更好的程序?
這個 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-6.x.y, py-1.x.y, pluggy-0.x.y
cachedir: $PYTHON_PREFIX/.pytest_cache
rootdir: $REGENDOC_TMPDIR
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
使用語句。見 Getting Started 更多示例。
特征?
失敗的詳細信息 assert statements (不需要記住
self.assert*
姓名)Auto-discovery 測試模塊和功能
Modular fixtures 用于管理小型或參數化的長期測試資源
Python 3.6+和PyPy 3
豐富的插件架構,超過315+ external plugins 繁榮的社區
錯誤/請求?
請使用 GitHub issue tracker 提交錯誤或請求功能。
支持pytest?
Open Collective 是一個開放和透明社區的在線融資平臺。它提供了籌集資金和完全透明地分享財務的工具。
它是個人和公司選擇的平臺,希望直接向項目提供一次性或每月的捐款。
在中查看更多詳細信息 pytest collective .
企業版pytest?
作為Tidelift訂閱的一部分提供。
pytest和其他數千個軟件包的維護人員正在與Tidelift合作,為您用來構建應用程序的開源依賴項提供商業支持和維護。節省時間、降低風險并改善代碼運行狀況,同時向您所使用的確切依賴項的維護人員付費。
安全性?
pytest從未與安全漏洞關聯,但無論如何,要報告安全漏洞,請使用 Tidelift security contact . Tidelift將協調修復和披露。