Pytest 自定义HOOK函数
除了系统提过的HOOK函数外,也可以通过自定义HOOK的方式实现想要的功能。
首先创建一个py文件,里面定义自己的HOOK函数,主要pytest里面的hook函数必须以pytest开头。
#myhook.pydef pytest_myhook(user):"""自定义HOOK函数"""def pytest_myhook2():"""自定义HOOK函数"""
其次创建自己的插件类,user类的重写__init__方法,注册钩子的时候带入pytest的config配置。在该方法中设置钩子入口:self
.config.hook.pytest_myhook().
#插件类
class user:name = "herry"age = 18def __init__(self, config):self.config = configself.config.hook.pytest_myhook(user=self)self.config.hook.pytest_myhook2()@pytest.mark.A
def test_B():print("BBB")if __name__ == "__main__":pytest.main([("pytest模块分享之hook2.py"), ("-s"), ("-m=A")])
最后在conftest.py文件中注册钩子和引用实现它。其中注册方法要放在最前面。
先添加构造,在注册插件,
def pytest_addhooks(pluginmanager):from . import myhookpluginmanager.add_hookspecs(myhook)def pytest_configure(config):config.user_ = user(config)config.pluginmanager.register(config.user_)def pytest_myhook(user):print("username------%s"%user.name)print("age------%s" % user.age)def pytest_myhook2():print("myhook2")
执行结果:

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
软件测试面试小程序
被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!
涵盖以下这些面试题板块:
1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux
6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
相关文章:
Pytest 自定义HOOK函数
除了系统提过的HOOK函数外,也可以通过自定义HOOK的方式实现想要的功能。 首先创建一个py文件,里面定义自己的HOOK函数,主要pytest里面的hook函数必须以pytest开头。 #myhook.pydef pytest_myhook(user):"""自定义HOOK函数&q…...
VUE笔记(六)vue路由
一、路由的简介 1、实现生活中的路由 路由:路由其实就是一个key-value对应关系 路由器:用于管理多个路由关系的设备被称为路由器 2、前端的路由 目前使用的前端项目都是单页面的应用(SPA),一个项目中只有一个html页…...
nginx反向代理 负载均衡
目录 1.反向代理介绍: 2.七层代理和四层代理: 2.1 七层代理: 2.2 四层代理: 3.反向代理web服务器: 3.1 代理服务器配置: 3.2 服务器配置 : 3.3 客户端访问: 3.4 代理不同端口&am…...
hugging face inference API返回内容太短的问题
hugging face的inference api返回的内容默认很短,可以通过参数max_new_tokens进行设置: Detailed parameters When sending your request, you should send a JSON encoded payload. Here are all the options All parametersinputs (required):a str…...
react中redux的详细使用以及持久化处理
一.redux使用 1.安装 npm i redux 例一: 2.创建redux文件夹,store.js文件 store.js文件 import {legacy_createStore as createStore,combineReducers}from "redux" // 每一块状态内容对应一个reducer文件 import {CollApsedReducer} fro…...
论文笔记: 循环神经网络进行速度模型反演 (未完)
摘要: 分享对论文的理解, 原文见 Gabriel Fabien-Ouellet and Rahul Sarkar, Seismic velocity estimation: A deep recurrent neural-network approach. Geophysics (2020) U21–U29. 作者应该是领域专家, 对地球科学的理解胜于深度学习. 为方便讨论, 等式编号保持与原文一致.…...
多维时序 | Matlab实现BiLSTM-Adaboost和BiLSTM多变量时间序列预测对比
多维时序 | Matlab实现BiLSTM-Adaboost和BiLSTM多变量时间序列预测对比 目录 多维时序 | Matlab实现BiLSTM-Adaboost和BiLSTM多变量时间序列预测对比预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 多维时序 | Matlab实现BiLSTM-Adaboost和BiLSTM多变量时间序列预…...
excel绘制直方图
Excel 2016直方图使用指南 excel绘制各种曲线十分方便,可以通过代码将计算的数据输出到excel里面,然后通过excel的插入标签,绘制各种需要的曲线。 对于直方图,横坐标是分布区间,纵坐标是这个区间内数值的频数&#x…...
react-grid-layout 实现原理介绍
简介 React-grid-layout 是一个基于 React 的网格布局库,它可以帮助我们轻松地在网格中管理和排列组件。它提供了一个直观的 API,可以通过配置网格的大小、列数和组件的位置来实现复杂的布局,还支持对网格中组件的拖拽和重新排列。 实现 诉…...
集合框架-(Collection/Map)
1.单列集合 1.1基础概要 集合中存储的是对象的地址信息,想要输出对象的信息,需要在具体的类中重写toString()方法 Collection代表单列集合,每个元素数据只包含一个值 List集合:添加的元素可以是有序、可…...
什么是单文件组件?
单文件组件形式 非单文件组件 可以理解为是通过 html 文件来使用 Vue。 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><…...
国际站阿里云服务器多久会重启一次系统??
阿里云服务器是一种高性能、高可靠的云计算服务,但在长时间运行过程中,系统可能会出现一些问题,需要重启来恢复正常运行。那么,阿里云服务器多久重启一次系统呢?本文将对这个问题进行解答。 阿里云服务器重启频率 阿里…...
低成本32位单片机电动工具无感方波控制方案
RAMSUN介绍基于灵动32位微处理器MM32SPIN0230的BLDC电动工具无感方波控制方案,包括MM32SPIN0230芯片资源。 以下是电动工具无感方波控制方案的简述: MM32SPIN0230电动工具专用板 芯片介绍 MM32SPIN0230系列是灵动微MindSPIN旗下高性能的单电机控制产品…...
安防视频监控/视频集中存储/云存储平台EasyCVR平台无法播放HLS协议该如何解决?
视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。音视频流媒体视频平台EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录像、…...
MySQL如何查找某个字段值相同的数据
当我们想要查找MySQL中某个字段值相同的数据,但我们又不知道这个数据的值是什么的时候该如何操作呢? 在我的数据表中有单词表以及对应的详细信息表,如果两张表是以单词作为逻辑上的外键时,查询单词详细信息操作就可以根据word值进…...
8.react18并发模式与startTransition(搜索高亮思路)
React 18 之前,渲染是一个单一的,不间断的,同步的事务,一旦渲染开始,就不能被中断 React 18引入并发模式,它允许你将标记更新作为一个transitions,这会告诉React他们可以被中断执行.这样可以将紧急任务先更新,不紧急任务后更新. 将任务给紧急任务先执行, 优先级低的任务后执行…...
前端Vue自定义得分构成水平柱形图组件 可用于系统专业门类得分评估分析
引入Vue自定义得分构成水平柱形图组件:cc-horBarChart 随着技术的发展,传统的开发方式使得系统的复杂度越来越高,一个小小的改动或小功能的增加可能会导致整体逻辑的修改,造成牵一发而动全身的情况。为了解决这个问题,…...
Linux获取纳秒级别时间
在 Linux 系统中可以使用 gettimeofday 函数来获取时间,这个函数能够以毫秒的精度来获取时间 struct timeval tv;gettimeofday(&tv, NULL);time_t cur_time tv.tv_sec;long cur_time_ms tv.tv_usec/1000;printf(“cur_time %d \n”, cur_time);printf(“cur…...
CSS中你不得不知道的盒子模型
目录 1、CSS的盒子模型1.1 css盒子模型有哪些:1.2 css盒子模型的区别1.3 通过css如何转换css盒子模型 1、CSS的盒子模型 1.1 css盒子模型有哪些: 标准盒子模型、怪异盒子模型(IE盒子模型) 1.2 css盒子模型的区别 标准盒子模型&a…...
知识储备--基础算法篇-数组
1.学习 2.数组 2.1第53题-最大子数组和 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 心得:一直在纠结这个连续的事情&…...
Marginalia代码实现原理:深入理解SQL查询注释的内部工作机制
Marginalia代码实现原理:深入理解SQL查询注释的内部工作机制 【免费下载链接】marginalia Attach comments to ActiveRecords SQL queries 项目地址: https://gitcode.com/gh_mirrors/ma/marginalia Marginalia是一款为ActiveRecord查询添加注释的实用工具&a…...
层次聚类实战:从距离选择到树形切割的业务可解释路径
1. 这不是“调个sklearn就能跑”的聚类——为什么 hierarchical clustering 值得你花两小时真正搞懂Hierarchical clustering(层次聚类)这个词,听起来像教科书里一个安静的章节,不如 K-means 那样高频出现在面试题里,也…...
5个核心技术:深度掌握Sollumz在GTA V建模中的架构设计与实战应用
5个核心技术:深度掌握Sollumz在GTA V建模中的架构设计与实战应用 【免费下载链接】Sollumz Grand Theft Auto V modding suite for Blender. This add-on allows the creation of modded game assets: 3D models, maps, interiors, animations, etc. 项目地址: ht…...
2026年一键生成论文工具实测排行,哪款真正适合顺利通关?
2026 年学术 AI 论文工具已形成全流程、理工 / 社科、英文 / 中文、免费 / 付费的清晰分化。综合实测排行与场景适配,千笔AI 是中文全能首选,DeepSeek 学术版是理工开源首选,毕业之家是国内毕业专属首选。 一、2026 年实测排行 TOP5ÿ…...
FreeRTOS队列深度剖析:从环形缓冲区到任务阻塞,你的消息真的发对了吗?
FreeRTOS队列深度剖析:从环形缓冲区到任务阻塞,你的消息真的发对了吗? 在嵌入式实时系统中,任务间的通信机制如同城市中的交通网络,而FreeRTOS队列则是这条网络中最核心的高速公路。当你的系统从简单的单任务演变为多任…...
Java智能地址解析架构深度解析:构建高精度企业级地址识别系统
Java智能地址解析架构深度解析:构建高精度企业级地址识别系统 【免费下载链接】address-parse Java 版智能解析收货地址 项目地址: https://gitcode.com/gh_mirrors/addr/address-parse 面对海量非结构化地址数据的处理挑战,传统规则引擎已无法满…...
别再复制粘贴了!手把手教你用Git命令将本地项目一键推送到GitLab仓库(含常见错误解决)
从零掌握Git命令流:本地项目高效同步GitLab全指南 在代码协作开发中,Git已成为不可或缺的版本控制工具。尽管现代IDE提供了便捷的图形化Git操作界面,但真正理解并熟练运用Git命令行,才是开发者摆脱"界面依赖症"、深入掌…...
私有化视频会议平台/视频高清直播点播EasyDSS构建智慧校园音视频协作新生态
在教育数字化转型的关键阶段,智慧校园对音视频协作系统的需求,已从基础的远程沟通,升级为安全可控、体验流畅、管理智能的一体化解决方案。视频直播点播平台EasyDSS凭借技术创新与场景深耕,成为智慧校园建设的核心支撑,…...
FPGA入门实战:基于HME-P开发板的LED流水灯完整开发流程详解
1. 项目概述与核心价值最近在整理工作室的物料,翻出来几块之前朋友送的HME-P(飞马)系列FPGA开发板。这板子做工扎实,接口也丰富,但一直没时间好好把玩。正好有刚入门的同事问起FPGA怎么上手,说看理论看得云…...
AI 不锈钢保温杯智能功率 MOSFET 完整选型方案
2026年随着 AI 技术在智能保温杯领域的深度渗透(如精准温控、语音交互、健康监测、无线充电管理),对功率 MOSFET 提出更高要求:高集成度、低功耗、小封装、高可靠性。微碧半导体(VBsemi)基于 SGT 及 Trench…...

