pytest 插件-如何安裝和使用插件

2022-03-21 15:35 更新

本節(jié)討論安裝和使用第三方插件。 要編寫自己的插件,請參閱編寫插件。

使用 pip 可以輕松安裝第三方插件:

pip install pytest-NAME
pip uninstall pytest-NAME

如果安裝了插件,pytest會自動找到并集成,無需激活。

以下是一些流行插件的小注釋列表:

  • ?pytest-django?:使用 pytest 集成為 django 應(yīng)用程序編寫測試。
  • ?pytest-twisted?:為?twisted?的應(yīng)用程序編寫測試,啟動反應(yīng)器并處理來自測試函數(shù)的延遲。
  • ?pytest-cov?:覆蓋率報(bào)告,兼容分布式測試
  • ?pytest-xdist?:將測試分發(fā)到 CPU 和遠(yuǎn)程主機(jī),以允許在分段錯誤中幸存的盒裝模式運(yùn)行,以 ?looponfailing模式運(yùn)行,自動重新運(yùn)行對文件更改的失敗測試。
  • ?pytest-instafail?:在測試運(yùn)行發(fā)生時報(bào)告失敗。
  • ?pytest-bdd?:使用行為驅(qū)動測試編寫測試。
  • ?pytest-timeout?:根據(jù)功能標(biāo)記或全局定義超時測試。
  • ?pytest-pep8?:啟用 ?PEP8? 合規(guī)性檢查的 ?--pep8? 選項(xiàng)。
  • ?pytest-flakes?:使用 ?pyflakes ?檢查源代碼。

在測試模塊或 conftest 文件中Requiring/Loading插件

你可以使用?pytest_plugins?在測試模塊或?conftest?文件中?require?插件:

pytest_plugins = ("myapp.testsupport.myplugin",)

加載測試模塊或 ?conftest ?插件時,也會加載指定的插件。

不推薦在非根文件?conftest.py?中要求插件使用?pytest_plugins?變量。

?pytest_plugins?的名稱是保留的,不應(yīng)該用作自定義插件模塊的名稱。

找出哪些插件處于活動狀態(tài)

如果您想找出您的環(huán)境中哪些插件處于活動狀態(tài),您可以鍵入:

pytest --trace-config

并將獲得一個擴(kuò)展的測試標(biāo)頭,其中顯示已激活的插件及其名稱。 它還將在加載本地插件時打印 ?conftest.py? 文件。

按名稱Deactivating / unregistering插件

您可以阻止插件加載或注銷它們:

pytest -p no:NAME

這意味著任何后續(xù)嘗試激活/加載命名插件都將不起作用。

如果您想無條件地禁用項(xiàng)目的插件,可以將此選項(xiàng)添加到您的 ?pytest.ini? 文件中:

[pytest]
addopts = -p no:NAME

或者,要僅在某些環(huán)境中禁用它(例如在 ?CI服務(wù)器中),您可以將 ?PYTEST_ADDOPTS環(huán)境變量設(shè)置為-p no:name?


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號