如何安裝和使用外掛程式¶
本節說明如何安裝和使用第三方外掛程式。如要撰寫自己的外掛程式,請參閱 撰寫外掛程式。
使用 pip
可以輕鬆安裝第三方外掛程式。
pip install pytest-NAME
pip uninstall pytest-NAME
如果已安裝外掛程式,pytest
會自動找到並整合它,無需啟用。
以下是部分熱門外掛程式的簡要註解清單
pytest-django:使用 pytest 整合,為 django 應用程式撰寫測試。
pytest-twisted:為 twisted 應用程式撰寫測試,啟動反應器並處理測試函數中的遞延。
pytest-cov:涵蓋範圍報告,相容於分散式測試
pytest-xdist:將測試分發到 CPU 和遠端主機,以盒裝模式執行,允許在分段錯誤中存活,以迴圈失敗模式執行,在檔案變更時自動重新執行失敗的測試。
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
。
請參閱 找出哪些外掛程式處於活動狀態,以取得外掛程式的名稱。