如何正确使用pytest的fixture函数进行测试固件配置?

2026-05-24 18:230阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2085个文字,预计阅读时间需要9分钟。

如何正确使用pytest的fixture函数进行测试固件配置?

前言: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分钟。

如何正确使用pytest的fixture函数进行测试固件配置?

前言: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 来获取。

阅读全文