pytest中的钩子函数:pytest_addoption(parser)

news2024/9/22 11:27:21
# @python3
# @Time    : 2023/4/21 9:05
# @Author  : Jike_Ma
# @FileName: conftest.py

import pytest

hosts = {
    "dev": "http://dev.com.cn",
    "prod": "http://prod.com.cn",
    "test": "http://test.com.cn"
}


# 注册一个自定义参数,并为其命名为 --host ,添加到pytest配置对象
def pytest_addoption(parser):
    parser.addoption("--host",
                     action="store", # 默认只存储参数的值【命令行参数添加到pytest配置对象中的参数的参数值】
                     default="test",
                     choices=["test", "dev", "prod"], # 可以为该参数值指定几个值
                     help="将命令行参数 ‘--host’ 添加到pytest配置对象中"
                     )

    parser.addoption("--zone",
                     action="append", # 将参数值存储为一个列表,用 append 模式将可以在pytest命令行方式执行测试用例的同时多次向程序内部传递自定义参数对应的参数值;
                     default=[], # defalut默认值必须是一个列表类型,pytest会将default 默认参数值和多个自定义参数值放在一个列表中
                     type=int, # 注册的自定义到pytest配置对象中的命令行参数对应的参数值应该转换的数据类型。默认str型
                     help="将命令行参数 ‘--zone’ 添加到pytest配置对象中"
                     )


# pytest配置对象中读取自定义参数--host 的值
@pytest.fixture(scope="session")
def get_cmdopt(request):
    return hosts.get(request.config.getoption("--host"))


# 从配置对象中读取自定义参数的值
@pytest.fixture(scope="session")
def get_zone(request):
    return request.config.getoption("--zone")

# @python3
# @Time    : 2023/4/21 9:18
# @Author  : Jike_Ma
# @FileName: test_cmdopt.py
import pytest


def test_get_cmdopt(get_cmdopt, get_zone):
    env, zone = get_cmdopt, get_zone
    print(env, zone)
    print(type(env))
    print(type(zone[0]))


if __name__ == '__main__':
    pytest.main(['-s', '--host=prod', "--zone=8"])

 

具体文档:https://www.cnblogs.com/hls-code/p/15046457.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/447608.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用WSL在Windows上安装Ubuntu

1. 清理环境 查看当前的wsl 状态&#xff0c;wsl --list 可以列出当前系统中已安装的子系统。 选择需要清理的系统&#xff0c;然后用 wsl --unregister <DistributionName> 即可完成卸载。 将 wsl 默认版本设置为 2&#xff1a; wsl --set-default-version 2 可以通…

taobao.item.carturl.get( 加购URL获取 )

&#xffe5;开放平台免费API可选用户授权 获取加购URL&#xff0c;支持添加商品到购物车 公共参数 请求地址: 公共请求参数: 公共响应参数: 点击获取key和secret 请求参数 请求示例 响应示例 异常示例

matlab笔记总结(4)

https://www.bilibili.com/video/BV1MA4y1d7so/?spm_id_from333.788&vd_source3ef6540f8473c7367625a53b7b77fd66 司守奎老师在B站的讲解视频 https://matlabacademy.mathworks.com/cn/details/matlab-onramp/gettingstarted MATLAB官方的入门之旅&#xff08;英文&…

ChatGPT探索系列之六:思考ChatGPT的未来发展趋势和挑战

文章目录 前言一、未来发展趋势1. ChatGPT重塑数据分析之道2. ChatGPT颠覆企业运用人工智能和机器学习的途径3. ChatGPT颠覆自动化商业流程4. ChatGPT引领企业决策迈向新纪元 二、ChatGPT掀开未来充满机遇和挑战的新篇章总结 前言 ChatGPT发展到目前&#xff0c;其实网上已经有…

如何用Python搭建HTTP服务器,并实现远程访问和下载?

Python是编程语言中的热门语言&#xff0c;具有语法简单、语句清晰的特点。如果你不擅长编程&#xff0c;学习Python是一个不错的选择&#xff0c;初学者在学习阶段可以较为轻松地理解编程对象和思维方法。对于小白用户来说,它具有强大且丰富的库,封装后可以轻松调用,因此也更受…

数学建模第一天:数学建模工具课之MATLAB的入门

目录 一、MATLAB的简介 二、Matlab基础知识 1. 变量 ①命名规则 ②特殊变量名 2、数学符号与函数调用 ①符号 ②数学函数 ③自定义函数 三、数组与矩阵 1、数组 ①创建数组 ②访问数组元素 ③数组运算 2、矩阵 ①定义 ②特殊矩阵 ③矩阵运算 四、控制流 …

pyecharts从入门到精通-地图专题GEO-世界地图和中国城市地图

文章目录 参考安装与查看pyecharts地图实现-Geo完成Geo地理坐标系实现。案例演示拓展-pyecharts中GEO源码 参考 官方文档:https://pyecharts.org/#/zh-cn/quickstart Python使用Pyecharts画Geo地图&#xff0c;如何显示具体地点名称 pyecharts世界地图用&#xff1a;国家中英文…

即使运行高优先级线程,低优先线程也能运行

仅仅因为一个线程具有较高的优先级&#xff0c;并不意味着其他低优先级的线程就不会得到机会运行。 这怎么理解&#xff1f; 有时候&#xff0c;我看到人们编写多线程代码&#xff0c;将一个线程的优先级置于另一个线程之上&#xff0c;他们认为这将防止优先级较低的线程干扰…

Qt编写网络摄像头推流(4路1080P主码流只占用0.2%CPU/极低延时极速响应)

一、前言说明 将从网络摄像头拉流过来的视频流重新推流出去&#xff0c;是目前一个很常规的做法&#xff0c;尤其是推流到流媒体服务中心&#xff0c;这样流媒体服务中心就把散落在各个区域的监控摄像头集中起来统一管理&#xff0c;同时提供对外一致的访问接口。很多时候不仅…

微信小程序开发的基础学习

回顾上篇内容 1、小程序核心理念&#xff1a; 在小程序里面&#xff0c;会把每一个标签看作一个矩阵&#xff0c;该矩阵的宽高会平行x轴、y轴 那么我们只需要知道该矩阵一个左上角的坐标&#xff0c;即可确定该矩阵的位置 2、题外话&#x1f9d0; &#xff08;1&#xff09…

字符串总结

一、最长公共前缀 1.方法一&#xff1a;横向扫描 class Solution { public:string longestCommonPrefix(vector<string>& strs) {if (!strs.size()) {return "";}string prefix strs[0];int count strs.size();for (int i 1; i < count; i) {prefix…

通信行业的企业如何与Synaptics建立EDI连接?

Synaptics 是一家全球领先的移动计算、通信和娱乐设备人机界面交互开发解决方案设计制造公司。该公司为大部份主要电脑及笔记本电脑公司提供触摸板&#xff0c;其中包括了华硕、宏碁、戴尔、惠普、索尼、东芝、Gateway、国际商业机器、联想集团与三星电子等。 Synaptics 推荐其…

【C++】模版初阶

现在我们学习C模版的基本知识&#xff0c;为以后学习STL打下一个坚实的基础 目录 一、泛型编程 二、模版 2.1 函数模版 2.1.1 函数模版的概念 2.1.2 函数模板的使用 2.1.3 函数模板的原理 2.1.4 函数模板的实例化 2.1.5 模板参数的匹配原则 2.2 类模版 2.2.1 类模版…

【查找】二叉排序树(BST)

有序序列查找可以用二分查找&#xff0c;但其插入删除需要移动数据&#xff0c;较为复杂&#xff1b;若不想多的移动&#xff0c;可以弄成无序序列&#xff0c;但这样就不能用二分查找。 为了不影响数据顺序&#xff0c;可以使用二叉排序树&#xff0c; 概念&#xff1a; 二…

11、STM32H7 MPU Cache

篇前小问题 在使用stm32H750的FMC时&#xff0c;出现一些奇怪的问题&#xff0c;写A时序时时&#xff0c;总是写1次的代码了出现了写四次的时序&#xff0c;所以找了很久&#xff0c;才找到问题出在了MPU上&#xff0c;使用FMC时&#xff0c;必须开启MPU&#xff0c;不然会出现…

QML图形动画基础之

图形动画基础 颜色&#xff08;color&#xff09;渐变&#xff08;Gradient&#xff09;系统调色面板(SystemPalette) 图片边界动画&#xff08;BorderImage&#xff09;动态图片&#xff08;AnimatedImage&#xff09;缩放&#xff0c;旋转和平移变换Transform实现高级变换 颜…

CLion开发工具 | 01 - 认识外观界面

专栏介绍 一、创建/打开项目 二、外观和界面 1. 文件编辑区 CLion的自动提示功能如下&#xff1a; CLion的参数提示功能如下&#xff1a; CLion的形参名称显示功能&#xff1a; 2. 项目文件浏览区 3. 工具栏 3.1. 一键编译运行 CLion内置了MinGW&#xff0c;点击运行可以…

卷积神经网络推理特征图可视化查看,附录imagenet类别和编号对应查询表。通过观察法进行深度学习可解释研究

CNN模型虽然在图像处理上表现出非常良好的性能和准确性&#xff0c;但一直以来都被认为是一个黑盒模型&#xff0c;人们无法了解里面的工作机制。 针对这个问题&#xff0c;研究人员除了从理论层面去寻找解释外&#xff0c;也提出了一些可视化的方法直观地理解CNN的内部机理&am…

atl创建avtive

activex无窗口问题 控件在编码过程中要检查m_hWnd是否存在&#xff0c;不然vs可能会出现绘制错乱和崩溃 atl窗体通过CComControlBase的内部变量控制&#xff0c;窗体属性&#xff0c;包括onsize事件对应的m_bRecomposeOnResize变量控制窗体变化事件响应。 可插入的控件 授权…

Hbase基本操作

目录 HBASE 基本操作 hbase shell&#xff1a;进入hbase shell环境 status命令&#xff1a;查看集群状态 version&#xff1a;查看版本信息 create&#xff1a;创建表 drop 删除表 list&#xff1a;查看所有表 desc &#xff1a;查看表结构 exists &#xff1a;查看表…