網站首頁 編程語言 正文
本節討論安裝和使用第三方插件。關于編寫自己的插件,我們下一章繼續。
一、pip 安裝
就像安裝一些其他第三方庫一樣,使用pip
也可以很容易地安裝第三方插件,pytest-NAME
這是你要安裝的插件名稱:
# 安裝 pip install pytest-NAME #卸載 pip uninstall pytest-NAME
比如我這里安裝一個pytest-xdist
的插件:
第三方插件裝完就可以直接用了,pytest
會自動找到并集成它,不需要我們手動激活它。
二、查找可用插件
pytest
的第三方插件非常豐富,所以功能也是多種多樣的。下面列舉一些流行的插件:
-
pytest-django
: 為django應用程序編寫測試,使用pytest集成。 -
pytest-cov
: 覆蓋報告,兼容分布式測試 -
pytest-xdist
: 將測試分發到cpu和遠程主機,提高執行效率 -
pytest-instafail
: 在測試運行時報告失敗 -
pytest-bdd
: 使用行為驅動測試編寫測試用例 -
pytest-timeout
: 根據函數標記或全局定義測試超時。 -
pytest-pep8
: 啟用pep8合規性檢查
...
官方有一個完整插件列表,里面有針對不同pytest
和Python
版本的最新測試狀態,傳送門 在此。
此外,我們也可以在pytest- pypi.org search搜索插件。
插件非常多,后續遇到一些很實用或者很有趣的插件會單獨進行分享。上面關于pytest-xdist
分布式執行的插件之前有過介紹,都添加到文章末尾的pytest合集
里了,有需要的自取。
三、在測試模塊或者conftest文件中加載指定插件
我們可以使用pytest_plugins
在測試模塊或conftest文件
中加載指定插件:
# 可以是單個插件,就是一個字符串 pytest_plugins = "myapp.testsupport.myplugin" # 也可以加載多個,字符串的隊列 pytest_plugins = ("myapp.testsupport.tools", "myapp.testsupport.regression")
當測試模塊或conftest插件被加載時,指定的插件也會被加載。
值得注意的是:
- 盡量不要在非根目錄的
conftest.py
文件中使用pytest_plugins
變量來加載插件(開發插件時候繼續展開) - 自定義插件模塊的名稱不要使用
pytest_plugins
來命名
四、查看被激活的插件
如果想知道哪些插件在本地環境中是激活的,可以通過該命令:
pytest --trace-config
在測試頭部信息中會顯示激活的插件,它還會在加載本地插件時打印出conftest.py文件
。
五、注銷插件
我們可以阻止插件加載或注銷它們:
pytest -p no:NAME
這樣,后續就沒辦法進行插件的激活/加載了。
如果想無條件地禁用一個項目的插件,可以在項目配置文件pytest.ini
中添加這個選項即可:
[pytest] addopts = -p no:NAME
文末附上合集的傳送門
pytest合集見鏈接
原文鏈接:https://www.cnblogs.com/pingguo-softwaretesting/p/16685564.html
相關推薦
- 2023-04-27 React中useState值為對象時改變值不渲染問題_React
- 2023-07-02 Golang?time.Sleep()用法及示例講解_Golang
- 2022-07-01 使用Python讀寫多個sheet文件_python
- 2022-03-30 C語言入門之淺談數據類型和變量常量_C 語言
- 2022-10-17 Go使用select切換協程入門詳解_Golang
- 2022-12-09 C#調用Windows的API實現窗體動畫_C#教程
- 2023-07-02 cv2.imread?和?cv2.imdecode?用法及區別_python
- 2022-10-29 python實現k均值聚類(kMeans)基于numpy
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支