如何正确使用pytest的fixture函数进行测试固件配置?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2085个文字,预计阅读时间需要9分钟。
前言:setup和teardown能在测试用例执行前后进行一些操作,但这种操作是整个测试脚本全局生效的;
如果我们想实现在某些用例执行前进行登录,而其他用例执行前则不需要登录。
前言
setup和teardown能实现在测试用例执行之前或之后做一些操作,但是这种是整个测试脚本全局生效的;
如果我们想实现某些用例执行之前进行登录,某些用例执行之前不需要进行登录,这种场景我们再使用setup和teardown就无法实现了,这时候我们就需要用到fixture功能了。
fixture函数
fixture(scope="function", params=None, autouse=False, ids=None, name=None)参数说明:
1、scope:fixture函数的作用域;可选值:function(默认)、class、module、session
- function:作用于每个方法或函数,每个方法或函数都运行一次
- class:作用于整个class类,每个class中的所有test只运行一次
- module:作用于整个模块,每个module中的所有test只运行一次
- session:作用于整个session,整个session只运行一次(慎用)
2、params:列表类型;一个可选的参数列表;它将会多次调用被fixture标记的方法和所有用到这个fixture的test测试用例;默认为None;当前调用参数可以用 request.param 来获取。
本文共计2085个文字,预计阅读时间需要9分钟。
前言:setup和teardown能在测试用例执行前后进行一些操作,但这种操作是整个测试脚本全局生效的;
如果我们想实现在某些用例执行前进行登录,而其他用例执行前则不需要登录。
前言
setup和teardown能实现在测试用例执行之前或之后做一些操作,但是这种是整个测试脚本全局生效的;
如果我们想实现某些用例执行之前进行登录,某些用例执行之前不需要进行登录,这种场景我们再使用setup和teardown就无法实现了,这时候我们就需要用到fixture功能了。
fixture函数
fixture(scope="function", params=None, autouse=False, ids=None, name=None)参数说明:
1、scope:fixture函数的作用域;可选值:function(默认)、class、module、session
- function:作用于每个方法或函数,每个方法或函数都运行一次
- class:作用于整个class类,每个class中的所有test只运行一次
- module:作用于整个模块,每个module中的所有test只运行一次
- session:作用于整个session,整个session只运行一次(慎用)
2、params:列表类型;一个可选的参数列表;它将会多次调用被fixture标记的方法和所有用到这个fixture的test测试用例;默认为None;当前调用参数可以用 request.param 来获取。

