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

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

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

