pytest官方文檔解讀之安裝和使用插件的方法
本節(jié)討論安裝和使用第三方插件。關(guān)于編寫(xiě)自己的插件,我們下一章繼續(xù)。
一、pip 安裝
就像安裝一些其他第三方庫(kù)一樣,使用pip
也可以很容易地安裝第三方插件,pytest-NAME
這是你要安裝的插件名稱(chēng):
# 安裝 pip install pytest-NAME #卸載 pip uninstall pytest-NAME
比如我這里安裝一個(gè)pytest-xdist
的插件:
第三方插件裝完就可以直接用了,pytest
會(huì)自動(dòng)找到并集成它,不需要我們手動(dòng)激活它。
二、查找可用插件
pytest
的第三方插件非常豐富,所以功能也是多種多樣的。下面列舉一些流行的插件:
pytest-django
: 為django應(yīng)用程序編寫(xiě)測(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è)試編寫(xiě)測(cè)試用例pytest-timeout
: 根據(jù)函數(shù)標(biāo)記或全局定義測(cè)試超時(shí)。pytest-pep8
: 啟用pep8合規(guī)性檢查
...
官方有一個(gè)完整插件列表,里面有針對(duì)不同pytest
和Python
版本的最新測(cè)試狀態(tài),傳送門(mén) 在此。
此外,我們也可以在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)加載插件(開(kāi)發(fā)插件時(shí)候繼續(xù)展開(kāi)) - 自定義插件模塊的名稱(chēng)不要使用
pytest_plugins
來(lái)命名
四、查看被激活的插件
如果想知道哪些插件在本地環(huán)境中是激活的,可以通過(guò)該命令:
pytest --trace-config
在測(cè)試頭部信息中會(huì)顯示激活的插件,它還會(huì)在加載本地插件時(shí)打印出conftest.py文件
。
五、注銷(xiāo)插件
我們可以阻止插件加載或注銷(xiāo)它們:
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
文末附上合集的傳送門(mén)
到此這篇關(guān)于pytest官方文檔解讀之安裝和使用插件的方法的文章就介紹到這了,更多相關(guān)pytest安裝和使用插件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何對(duì)Python編譯PyInstaller打包生成的exe文件進(jìn)行反編譯生成pyc、py源代碼文件
很多開(kāi)發(fā)者沒(méi)有發(fā)布源程序代碼,而是將代碼封裝為exe可執(zhí)行文件,這樣不僅更有利于程序傳播,下面這篇文章主要介紹了如何對(duì)Python編譯PyInstaller打包生成的exe文件進(jìn)行反編譯生成pyc、py源代碼文件的相關(guān)資料,需要的朋友可以參考下2023-01-01Python中的pandas庫(kù)簡(jiǎn)介及其使用教程
pandas是用于數(shù)據(jù)挖掘的Python庫(kù),Pandas中常見(jiàn)的數(shù)據(jù)結(jié)構(gòu)有Series和DateFrame兩種方式,今天通過(guò)本文給大家講解Python中的pandas庫(kù)簡(jiǎn)介及其使用,感興趣你跟隨小編一起學(xué)習(xí)吧2022-11-11淺談優(yōu)化Django ORM中的性能問(wèn)題
這篇文章主要介紹了淺談優(yōu)化Django ORM中的性能問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07Python小程序 控制鼠標(biāo)循環(huán)點(diǎn)擊代碼實(shí)例
這篇文章主要介紹了Python小程序 控制鼠標(biāo)循環(huán)點(diǎn)擊代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10Python實(shí)現(xiàn)自動(dòng)簽到腳本的示例代碼
這篇文章主要介紹了Python實(shí)現(xiàn)自動(dòng)簽到腳本的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08