首页 > 其他分享 >【pytest】 在启动任务时将自定义参数传入代码中

【pytest】 在启动任务时将自定义参数传入代码中

时间:2024-08-23 17:08:55浏览次数:11  
标签:addoption 自定义 传入 -- myarg pytest 参数

1. 使用 pytest_addoption 钩子函数

你可以在 conftest.py 文件中使用 pytest_addoption 钩子函数来定义自定义命令行参数。然后,你可以在你的测试文件中通过 request fixture 来访问这些参数。

conftest.py

# content of conftest.py  
import pytest  
  
def pytest_addoption(parser):  
    parser.addoption(  
        "--myarg", action="store", default="default_value", help="My custom argument"  
    )  
  
@pytest.fixture  
def my_arg(request):  
    return request.config.getoption("--myarg")

test_example.py

# content of test_example.py  
def test_example(my_arg):  
    print(f"My custom argument is: {my_arg}")  
    assert my_arg != "some_bad_value"

运行测试时,你可以通过 --myarg 参数来传递你的自定义值:

pytest --myarg=my_custom_value

parser.addoption 参数说明:

  • --myarg:这是自定义选项的名称,用户将在命令行中使用这个名称来指定该选项。注意,在命令行中,选项前必须有两个破折号(--)来区分它们是长选项。

  • action="store":这个参数指定了当 pytest 解析命令行参数时,如果遇到 --myarg 选项应该如何处理。store 动作意味着 pytest 应该将 --myarg 后面的值存储起来,并使其可以在测试脚本中通过某种方式访问。如果 --myarg 后面没有值,并且 action 被设置为 store,那么将引发一个错误(除非指定了 nargs='?',它允许 --myarg 后面跟一个可选的值)。

  • default="default_value":这个参数指定了如果命令行中没有提供 --myarg 选项时,应该使用的默认值。在这个例子中,如果用户在运行 pytest 时没有指定 --myarg,那么 pytest 将认为 --myarg 的值是 "default_value"

  • help="My custom argument":这个参数提供了一个简短的描述,当用户在命令行中运行 pytest --help 时,这个描述会显示出来,帮助用户理解 --myarg 选项的用途。

标签:addoption,自定义,传入,--,myarg,pytest,参数
From: https://www.cnblogs.com/liu-Gray/p/18376527

相关文章

  • Flutter 自定义日期范围选择组件,使用更加灵活,满足UI设计需要
    一、实现的效果图二、虽然Flutter也为我们提供了日期范围选择组件showDateRangePicker,但是毕竟系统的UI不符合我们的设计风格,所以被迫只能自己实现一个了系统样式三、日历整体实现逻辑其实也很简单,如下:首先获取每个月份具体有多少天int_getMonthDays(DateTimetim......
  • 在 Monaco Editor 中自定义右键菜单并支持多级菜单
    在MonacoEditor中自定义右键菜单能够提供更灵活的功能选项。以下是如何在MonacoEditor中实现自定义右键菜单,并支持多级菜单的步骤及关键代码示例。1.初始化MonacoEditor实例首先,需要初始化MonacoEditor实例,并设置基本的编辑器配置。constinitEditor=()=......
  • 自定义安装Nginx
    nginx下载地址:https://nginx.org/download/1.下载wgethttps://nginx.org/download/nginx-1.18.0.tar.gz2.安装依赖yum-yinstallgccgcc-c++makeautomakeautoconfpcrepcre-develzlibzlib-developensslopenssl-devellibtool3.解压tar-vxfnginx-1.18.0.tar.......
  • 自定义安装Mysql版本
    自定义安装Mysql版本mysql下载地址:https://downloads.mysql.com/archives/community/1.下载wgethttps://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar--2024-08-2010:15:39--https://downloads.mysql.com/archives/get/p/23/......
  • 关于在得帆云数据中台如何自定义函数
    UDF使用示例场景说明:使用udf编写一个函数Unit_Conversion(value)。在函数中根据value的值进行单位转化,并进行类型转化。1、导入依赖在pom.xml中将如下依赖进行导入。<dependency><groupId>org.apache.hive</groupId><artifactId>hive-exec<......
  • WPF 模拟UWP原生窗口样式——亚克力|云母材质、自定义标题栏样式、原生DWM动画 (附我封
    先看一下最终效果,左图为使用亚克力材质并添加组合颜色的效果;右图为MicaAlt材质的效果。两者都自定义了标题栏并且最大限度地保留了DWM提供的原生窗口效果(最大化最小化、关闭出现的动画、窗口阴影、拖拽布局器等)。接下来把各部分的实现一个个拆开来讲讲。一、使用窗口材质特......
  • 探索HarmonyOS中的列表组件及其自定义特性
    在现代移动应用中,List组件是数据列表的关键元素。HarmonyOS中的List组件不仅具备传统的列表功能,还提供了丰富的自定义选项,允许开发者根据需求灵活调整列表的行为和外观展示。本文将探讨HarmonyOS中列举组件的自定义特性,包括自定义项布局、动态加载数据、多列布局、拖拽排序......
  • QT自定义结构体的传递
    方法1:使用Q_DECLARE_METATYPE(TestResult)进行声明1.1声明#ifndefTESTRESULT_H#defineTESTRESULT_H#include<QDateTime>#include<QString>#include<QMetaType>//用于测试时更新内容,作为结果导出的依据classTestResult{public:int_nid=0;int_coun......
  • 织梦dedeCMS怎么使用arclist标签调用自定义字段
    {dede:arclistrow='10'titlelen='24'orderby='pubdate'idlist=''col='2'}[field:textlink/]([field:pubdatefunction=MyDate('m-d',@me)/])<br/>{/dede:arclist}row=‘10’返回文档列表总数typeid=‘’栏目ID......
  • mybatis-plus配置自定义sqlInjector(使用InsertBatchSomeColumn),出现Invalid bound stat
    项目一开始未引入mybatis-plus,使用的是mybatis,配置文件为xml,有一个配置类中配置了SqlSessionFactory的相关内容。引入mybatis-plus后,想使用InsertBatchSomeColumn遇到Invalidboundstatement(notfound),多处配置发现没有效果并依旧报错,最终在刚才的配置类中的SqlSessionFact......