網(wǎng)站首頁(yè) 編程語言 正文
本節(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í)行的插件之前有過介紹,都添加到文章末尾的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
變量來加載插件(開發(fā)插件時(shí)候繼續(xù)展開) - 自定義插件模塊的名稱不要使用
pytest_plugins
來命名
四、查看被激活的插件
如果想知道哪些插件在本地環(huán)境中是激活的,可以通過該命令:
pytest --trace-config
在測(cè)試頭部信息中會(huì)顯示激活的插件,它還會(huì)在加載本地插件時(shí)打印出conftest.py文件
。
五、注銷插件
我們可以阻止插件加載或注銷它們:
pytest -p no:NAME
這樣,后續(xù)就沒辦法進(jìn)行插件的激活/加載了。
如果想無條件地禁用一個(gè)項(xiàng)目的插件,可以在項(xiàng)目配置文件pytest.ini
中添加這個(gè)選項(xiàng)即可:
[pytest] addopts = -p no:NAME
文末附上合集的傳送門
pytest合集見鏈接
原文鏈接:https://www.cnblogs.com/pingguo-softwaretesting/p/16685564.html
相關(guān)推薦
- 2022-04-11 關(guān)于出現(xiàn)“Content type ‘a(chǎn)pplication/x-www-form-urlencod
- 2022-08-14 在WPF中合并兩個(gè)ObservableCollection集合_C#教程
- 2022-07-14 如何批量刪除Docker中已經(jīng)停止的容器的幾種方法_docker
- 2022-09-03 Python?Opencv使用ann神經(jīng)網(wǎng)絡(luò)識(shí)別手寫數(shù)字功能_python
- 2023-05-06 Python正則表達(dá)式中g(shù)roup與groups的用法詳解_python
- 2022-08-16 Hive導(dǎo)入csv文件示例_數(shù)據(jù)庫(kù)其它
- 2022-10-16 Ant?Design?組件庫(kù)按鈕實(shí)現(xiàn)示例詳解_React
- 2023-08-15 解決chrome升級(jí)后跨域跳轉(zhuǎn)cookie無法攜帶問題
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支