pytest官方文檔解讀之安裝和使用插件的方法
本節(jié)討論安裝和使用第三方插件。關(guān)于編寫自己的插件,我們下一章繼續(xù)。
一、pip 安裝
就像安裝一些其他第三方庫一樣,使用pip也可以很容易地安裝第三方插件,pytest-NAME這是你要安裝的插件名稱:
# 安裝 pip install pytest-NAME #卸載 pip uninstall pytest-NAME
比如我這里安裝一個pytest-xdist的插件:

第三方插件裝完就可以直接用了,pytest會自動找到并集成它,不需要我們手動激活它。
二、查找可用插件
pytest的第三方插件非常豐富,所以功能也是多種多樣的。下面列舉一些流行的插件:
pytest-django: 為django應(yīng)用程序編寫測試,使用pytest集成。pytest-cov: 覆蓋報告,兼容分布式測試pytest-xdist: 將測試分發(fā)到cpu和遠(yuǎn)程主機(jī),提高執(zhí)行效率pytest-instafail: 在測試運(yùn)行時報告失敗pytest-bdd: 使用行為驅(qū)動測試編寫測試用例pytest-timeout: 根據(jù)函數(shù)標(biāo)記或全局定義測試超時。pytest-pep8: 啟用pep8合規(guī)性檢查
...
官方有一個完整插件列表,里面有針對不同pytest和Python版本的最新測試狀態(tài),傳送門 在此。
此外,我們也可以在pytest- pypi.org search搜索插件。
插件非常多,后續(xù)遇到一些很實(shí)用或者很有趣的插件會單獨(dú)進(jìn)行分享。上面關(guān)于pytest-xdist分布式執(zhí)行的插件之前有過介紹,都添加到文章末尾的pytest合集里了,有需要的自取。
三、在測試模塊或者conftest文件中加載指定插件
我們可以使用pytest_plugins在測試模塊或conftest文件中加載指定插件:
# 可以是單個插件,就是一個字符串
pytest_plugins = "myapp.testsupport.myplugin"
# 也可以加載多個,字符串的隊(duì)列
pytest_plugins = ("myapp.testsupport.tools", "myapp.testsupport.regression")當(dāng)測試模塊或conftest插件被加載時,指定的插件也會被加載。
值得注意的是:
- 盡量不要在非根目錄的
conftest.py文件中使用pytest_plugins變量來加載插件(開發(fā)插件時候繼續(xù)展開) - 自定義插件模塊的名稱不要使用
pytest_plugins來命名
四、查看被激活的插件
如果想知道哪些插件在本地環(huán)境中是激活的,可以通過該命令:
pytest --trace-config
在測試頭部信息中會顯示激活的插件,它還會在加載本地插件時打印出conftest.py文件。

五、注銷插件
我們可以阻止插件加載或注銷它們:
pytest -p no:NAME
這樣,后續(xù)就沒辦法進(jìn)行插件的激活/加載了。
如果想無條件地禁用一個項(xiàng)目的插件,可以在項(xiàng)目配置文件pytest.ini中添加這個選項(xiàng)即可:
[pytest] addopts = -p no:NAME
文末附上合集的傳送門
到此這篇關(guān)于pytest官方文檔解讀之安裝和使用插件的方法的文章就介紹到這了,更多相關(guān)pytest安裝和使用插件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
matplotlib畫混淆矩陣與正確率曲線的實(shí)例代碼
混淆矩陣也稱誤差矩陣,是表示精度評價的一種標(biāo)準(zhǔn)格式,下面這篇文章主要給大家介紹了關(guān)于matplotlib畫混淆矩陣與正確率曲線的相關(guān)資料,需要的朋友可以參考下2021-06-06
Django學(xué)習(xí)筆記之ORM基礎(chǔ)教程
ORM,即Object-Relational Mapping(對象關(guān)系映射),它的作用是在關(guān)系型數(shù)據(jù)庫和業(yè)務(wù)實(shí)體對象之間作一個映射,下面這篇文章主要給大家介紹了關(guān)于Django學(xué)習(xí)筆記之ORM基礎(chǔ)教程的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2018-03-03
釘釘群自定義機(jī)器人消息Python封裝的實(shí)例
今天小編就為大家分享一篇釘釘群自定義機(jī)器人消息Python封裝的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-02-02
導(dǎo)入tensorflow:ImportError: libcublas.so.9.0 報錯
這篇文章主要介紹了導(dǎo)入tensorflow:ImportError: libcublas.so.9.0 報錯,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01
python自動獲取微信公眾號最新文章的實(shí)現(xiàn)代碼
這篇文章主要介紹了python自動獲取微信公眾號最新文章,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-07-07

