码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • pytest合集(13)— 插件管理


    1、pytest插件介绍

    pytest中的插件是由一个或者N个钩子函数构成,想要编写新的插件或者修改内置插件都是通过钩子函数来实现的,所以想掌握pytest插件二次开发,必须搞定hook函数。

    (1)插件分类:

    • 内置插件:pytest内部的_pytest目录中加载:\Lib\site-packages\_pytest\hookspec.py
    • 外部插件(第三方插件):pip install 插件,通过setuptools的Entry points机制来发现外部插件。
    • conftest插件(本地插件):pytest自动模块发现机制,conftest.py文件放在项目根目录下

    (2)插件加载顺序:

    内置插件>外部插件>conftest插件

    (3)插件列表:

    Plugin List — pytest documentation

    (4)插件文档:

    pluggy — pluggy 1.0.0.dev72+g5e51864 documentation

    2、安装和使用第三方插件

    (1)插件名称:

    pytest-*

    (2)安装插件:

    pip install pytest-NAME

    (3)卸载插件:

    pip uninstall pytest-NAME

    (4)查看你本地安装好的第三方插件:

    pytest --trace-config

    (5)禁用插件:

    pytest -p no:NAME

    (6)常见插件:

    • pytest-ordering,管理用例执行顺序
    • pytest-html,生成HTML格式的测试报告
    • pytest-rerunfailures,失败重跑
    • pytest-xdist,测试分发 

     

    3、插件开发

    本质上就是重写pytest内置的hook钩子函数

    (1)setuptools

    它可以帮助我们更简单的创建和分发Python包,尤其是拥有依赖关系的。用户在使用setuptools创建的包时,并不需要已安装setuptools,只要一个启动模块即可。

    (2)pytester

    pytest附带一个名为的插件pytester,可帮助你为插件代码编写测试。默认情况下,该插件处于禁用状态,因此你必须先启用它,然后才能使用它。

    (3)pluggy

    pytest的大量插件使用pluggy进行管理,pluggy是pytest使用的一个插件系统,用于pytest插件的管理和钩子调用。也就是说,pluggy使pytest具有了钩子功能,实现主机(主程序)与插件的连接。


    reference:

    How-to guides — pytest documentation

    Plugin List — pytest documentation

    pluggy — pluggy 1.0.0.dev72+g5e51864 documentation

  • 相关阅读:
    Java并发编程—线程详解
    java--JVM
    ConcurrentHashMap
    【jQuery】jQuery中如何发送ajax请求以及解决跨域问题_10
    以开源大数据开发平台为依托,发动机信息名企勇拓数字化发展之路!
    【数据结构】七大排序算法详解
    Windows安装k8s
    基于虚拟机源码分析move合约(一):本地变量
    界面控件DevExpress WPF TreeMap,轻松可视化复杂的分层结构数据!
    那个热血澎湃的少年,他居然顶不住了!
  • 原文地址:https://blog.csdn.net/panc_guizaijianchi/article/details/126749161
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号