来更新知识点了~
pytestconfig
是pytest
一个内置的fixture
,可以读取相关配置,这里主要介绍如何获取命令行参数以及pytest.ini
中所写的配置项。
读取命令行参数
读取命令行参数还是比较有意义的,比如有多个root_url
,可以通过读取参数来指定。其实在pytest_addoption这篇文章中已经介绍了如何注册命令行参数(甚至如何获取也有说明,只不过是用的request.config
),这里就用pytestconfig
来再次实现参数获取吧。
- 注册命令行参数。
#conftest.py
def pytest_addoption(parser):
parser.addoption(
"--value",#名称,在命令行中接受该选项后面的值
action="store",#对命令行中名称后面的值执行存储操作
dest="environment",#存储值的名称
default='test',#默认值
help="It's too hard for me"#帮助信息
)
- 获取参数主要是应用
getoption
方法
#conftest.py
@pytest.fixture
def env(pytestconfig):
return pytestconfig.getoption("environment")
- 再来写一个测试文件看看
fixture
的运行结果。
#test_pytestconfig.py
def test_getoption(env):
print(env)
执行pytest test_pytestconfig.py --value=pro
运行结果如下图:
读取pytest.ini文件配置
首先在pytest.ini
文件中,标记如下配置。
[pytest]
log_cli= True#控制台输出具体测试用例的执行结果
addopts= -s#标记默认命令行选项
读取其实只需要用到getini
方法。
@pytest.fixture(autouse=True)
def getini(pytestconfig):
print(pytestconfig.getini('addopts'))
print(pytestconfig.getini('log_cli'))
运行上方已建立的test_pytestconfig.py
,运行结果如下图,ini文件中的配置已成功输出。
最近关注博主的人儿就竟然快50了,是个非常大的鼓励了~这个月更新慢,重点确实不在这里,不过下个月会继续努力学习,努力做一个小知识点传送门的!
今天心情不错,祝大家也开心哦~
自我记录,有错误欢迎指正~
网友评论