如何安裝和使用外掛程式¶
本節介紹如何安裝和使用第三方外掛程式。若要編寫自己的外掛程式,請參閱 編寫外掛程式。
安裝第三方外掛程式可以使用 pip
輕鬆完成
pip install pytest-NAME
pip uninstall pytest-NAME
如果安裝了外掛程式,pytest
會自動找到並整合它,無需啟用。
以下是一些熱門外掛程式的簡要註解列表
pytest-django:為 django 應用程式編寫測試,使用 pytest 整合。
pytest-twisted:為 twisted 應用程式編寫測試,啟動 reactor 並處理來自測試函數的 deferreds。
pytest-cov:覆蓋率報告,與分散式測試相容
pytest-xdist:將測試分發到 CPU 和遠端主機,以 boxed 模式運行(允許在分段錯誤中倖存),以 looponfailing 模式運行,在文件更改時自動重新運行失敗的測試。
pytest-instafail:在測試運行時報告失敗。
pytest-bdd:使用行為驅動測試編寫測試。
pytest-timeout:根據函數標記或全域定義設定測試超時。
pytest-pep8:一個
--pep8
選項,用於啟用 PEP8 合規性檢查。pytest-flakes:使用 pyflakes 檢查原始碼。
allure-pytest:透過 allure-framework 報告測試結果。
若要查看包含所有外掛程式及其針對不同 pytest 和 Python 版本之最新測試狀態的完整列表,請造訪 Pytest 外掛程式列表。
您也可以透過 pytest- pypi.org 搜尋 發現更多外掛程式。
在測試模組或 conftest 檔案中要求/載入外掛程式¶
您可以使用 pytest_plugins
在測試模組或 conftest 檔案中要求外掛程式
pytest_plugins = ("myapp.testsupport.myplugin",)
當載入測試模組或 conftest 外掛程式時,指定的外掛程式也將被載入。
注意
在非根目錄 conftest.py
檔案中使用 pytest_plugins
變數要求外掛程式已被棄用。請參閱「編寫外掛程式」章節中的 完整說明。
注意
名稱 pytest_plugins
是保留字,不應用作自訂外掛程式模組的名稱。
找出哪些外掛程式處於活動狀態¶
如果您想找出哪些外掛程式在您的環境中處於活動狀態,您可以輸入
pytest --trace-config
並將獲得一個擴展的測試標頭,其中顯示已啟用的外掛程式及其名稱。當載入本機外掛程式(也稱為 conftest.py 檔案)時,它也會印出。
依名稱停用/取消註冊外掛程式¶
您可以阻止外掛程式載入或取消註冊它們
pytest -p no:NAME
這表示任何後續嘗試啟用/載入指定的外掛程式都將無效。
如果您想為專案無條件停用外掛程式,您可以將此選項添加到您的 pytest.ini
檔案中
[pytest]
addopts = -p no:NAME
或者,若要僅在某些環境(例如在 CI 伺服器中)停用它,您可以將 PYTEST_ADDOPTS
環境變數設定為 -p no:name
。
請參閱 找出哪些外掛程式處於活動狀態,以了解如何取得外掛程式的名稱。