前言
request 是 pytest 的内置 fixture , "为请求对象提供对请求测试上下文的访问权,并且在fixture被间接参数化的情况下具有可选的“param”属性。"这是官方文档对request的描述,可参考的文档不多。
一、FixtureRequest
FixtureRequest 是来自 fixture 或者 测试用例的请求,它有访问测试上下文的权限, FixtureRequest_pytest.fixtures pytest documentation。
class FixtureRequest[源代码](https://docs.pytest.org/en/latest/_modules/_pytest/fixtures.html#FixtureRequest)
请求对象提供对请求的测试上下文的访问,并且具有可选的 param 属性,以防设备被间接参数化。
fixturename
正在为其执行此请求的 fixture 名称。
scope
作用域字符串,“function”、“class”、“module”、“session”之一。
fixturenames
此请求中所有活动状态的 fixture 的名称。
node
基础集合节点(取决于当前请求范围)。
config
与此请求关联的 pytest 配置对象。
function
如果请求具有每个函数范围,则测试函数对象。
cls
类(可以是None),其中收集了测试函数。
instance
在其上收集测试函数的实例(可以是None)。
module
收集测试函数的Python模块对象。
fspath
收集此测试的测试模块的文件系统路径。
keywords
基础节点的关键字/标记词典。
session
Pytest会话对象。
addfinalizer(finalizer: Callable[], object]) → None[源代码]
添加finalizer/teardown函数,以便在请求的测试上下文中的最后一个测试完成执行后调用。
applymarker(marker) → None[源代码]
对单个测试函数调用应用标记。
如果不希望在所有函数调用上都有关键字/标记,则此方法非常有用。
参数
marker -- A _pytest.mark.MarkDecorator 调用创建的对象 pytest.ma