pytest: 在配置文件pytest.ini中自定义选项/变量

发布时间 2023-09-30 23:23:43作者: 工作手记

1 pytest.ini中有很多pytest框架自带的选项,即便你没有定义一个pytest.ini文件,这些选项依然存在并影响pytest的很多行为
执行pytest -h
可以看到这些选项及默认值
image
上面这些默认选项及其默认值可以被被系统自动读取,不信我们在test中打印一个出来看看
选取 xfail_strict,上图中可以看到它的默认值是false

我的目录,目录里面没有pytest.ini文件
image
test文件
image

image

如上 打印出来的只也是false

2 在pyets中自定义选项并设置值,然后再test中读取
新建配置文件
image

在conftest.py中添加如下内容

def pytest_addoption(parser):
    #配置文件的自定义选项必须通过这种方式注册
    #pytest_addoption parser.addini 这些名称是固定的不能随便改动
    parser.addini('env',default='prod',help='设置env')
    #addini() 括号里面的参数值可自定义

添加一个test
image

执行结果
image

打印出来的值和配置文件设置的是一样的

这里我们还可以吧配置文件去掉,如图 把它改成bpytest.txt 或者直接删除也行
image

执行结果
image

打印出来的值是prod
因为之前我们已经在coftest.py中把env这个选项注册过了,并设定了默认值
如果配置文件有这个选项,就会用配置文件的值
相反,就用注册中设定的默认值