pytest中使用conftest做测试前置和参数化

pytest中比较高阶的应用是,使用conftest去做测试前置工作、测试收尾工作和参数化。conftest是pytest的一个组件,用于配置测试环境和参数。通过conftest, 可以创建一个可复用的测试配置文件,以便在多个测试模块之间共享配置信息。即,conftest主要用来存放fixture,管理一些全局的fixture. 

适用场景

  •   多个测试用例文件(test_*.py)的所有用例都需要用登录功能作为前置操作,那就不能把登录功能写到某个用例文件中去了,这个时候就可以把登录功能写成一个fixture,放到conftest.py里
  • 多个case共享一套测试数据
  • 多个case共享配置信息

conftest.py配置fixture注意事项

  • pytest会默认读取conftest.py里面所有的fixture
  • conftest.py文件名称是固定的,不能改动
  • conftest.py只对同一个package下的所有测试用例生效
  • 不同目录可以有自己的conftest.py, 一个项目可以有多个conftest.py
  • 测试用例文件中不需要手动import conftest.py, pytest会自动查找
  • 在conftest.py文件中,可以定义函数、类和变量,以供测试用例中使用。这些配置可以通过参数传递给测试用例。配合测试用例中的pytest.mark.parametrize装饰器来传递参数。
  • conftest.py如果在项目根目录下,那就是对整个项目下的测试用例生效

conftest结合fixture使用

  • scope参数为session: 所有测试.py文件执行前执行一次
  • scope参数为module: 每一个测试.py文件执行
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值