1 pytest.ini中有很多pytest框架自带的选项,即便你没有定义一个pytest.ini文件,这些选项依然存在并影响pytest的很多行为
执行pytest -h
可以看到这些选项及默认值
上面这些默认选项及其默认值可以被被系统自动读取,不信我们在test中打印一个出来看看
选取 xfail_strict,上图中可以看到它的默认值是false
我的目录,目录里面没有pytest.ini文件
test文件
如上 打印出来的只也是false
2 在pyets中自定义选项并设置值,然后再test中读取
新建配置文件
在conftest.py中添加如下内容
def pytest_addoption(parser):
#配置文件的自定义选项必须通过这种方式注册
#pytest_addoption parser.addini 这些名称是固定的不能随便改动
parser.addini('env',default='prod',help='设置env')
#addini() 括号里面的参数值可自定义
添加一个test
执行结果
打印出来的值和配置文件设置的是一样的
这里我们还可以吧配置文件去掉,如图 把它改成bpytest.txt 或者直接删除也行
执行结果
打印出来的值是prod
因为之前我们已经在coftest.py中把env这个选项注册过了,并设定了默认值
如果配置文件有这个选项,就会用配置文件的值
相反,就用注册中设定的默认值