内置 fixtures:
前面说过我们可以通过自定义 fixture 来实现测试用例的前置和后置工作,其实 pytest 中也有一些内置的 fixture 可供我们调用;
内置 fixture 的作用就是为了使 pytest 更加强大,它可以修改控制 pytest 的行为,以及为我们提供一些更加便利的功能。
pytestconfig:
pytestconfig 可以通过命令行参数、选项、配置文件、插件、运行目录等方式来控制pytest;
pytestconfig 实际上就是 request.config 的快捷方式,被称为“pytest 配置对象”;
源码展示:
# fixtures.py
@fixture(scope="session")
def pytestconfig(request):
"""Session-scoped fixture that returns the :class:`_pytest.config.Config` object.
Example::
def test_foo(pytestconfig):
if pytestconfig.getoption("verbose") > 0:
...
"""
return request.config
源码中的 request 是 FixtureRequest 的实例对象,FixtureRequest 在官方的描述中是这样的:
FixtureRequest 是来自 fixture 或者 测试用例的请求,它有访问测试上下文的权限;
</

本文深入解析pytest内置fixture的使用,重点介绍pytestconfig的作用与实践,包括如何通过命令行参数和pytest.ini配置文件控制pytest行为,以及如何利用pytestconfig获取这些参数值。
最低0.47元/天 解锁文章
1231

被折叠的 条评论
为什么被折叠?



