pytest篇6-conftest.py模块

01

引言

  1. conftest.py是pytest特有的本地测试配置,既可以用来设置项目级别的Fixture、也可以用来导入外部插件,还可以用来指定钩子函数(后续慢慢总结)

  2. 一个project下可以有多个conftest.py的文件,根目录下放一个会起到全局作用,根目录下所有的目录都可以使用,在不同都测试目录下也可以有自己单独都conftest.py,作用范围只在该层级及以下目录生效。

02


运用

简单都运用场景,在写case时,每一个模块里面都用例都需要进行登

录or每个模块都用例都要有一些前置操作,该怎么实现,这时候conftest.py文件就可以起到非常大都作用。

'''目录层级'''
conftest(是一个package,包名叫conftest,包名任取)
__ conftest.py
__ test_01.py
__ test_02.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time : 2021/4/6 10:39 下午
# @Author : Maynard
# @File : conftest.py
# @Software: PyCharm


import pytest
@pytest.fixture()
def login():
    print('-----conftest文件login方法开始执行-----')
    print('login in confest.py')
    print('-----conftest文件login方法执行结束-----')
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time : 2021/4/6 10:46 下午
# @Author : Maynard
# @File : test_01.py
# @Software: PyCharm
import pytest
def test_01(login):
    print('-----test_01case开始执行-----')
    print('执行ing')
    print('-----test_01case执行结束-----')


if __name__ == '__main__':
    pytest.main(['-s','test_01.py'])
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time : 2021/4/6 10:48 下午
# @Author : Maynard
# @File : test_02.py
# @Software: PyCharm


def test_02(login):
    print('-----test_02case开始执行-----')
    print('执行ing')
    print('-----test_02case执行结束-----')

03

运行结果

直接使用命令行运行 pytest -s conftest即可

pytest -s conftest
'''运行conftest路径下所有的用例'''


结果:每个case执行前,都会先执行conftest里面都login方法;

04

总结

  1. conftest.py文件名是固定的,不能更改文件名;

  2. 可以在不同的py文件中使用同一个fixture函数;

  3. 使用conftest里面函数时,不需要做任何import导入操作;

  4. 在实际项目过程中,conftest一般会结合fixture使用,下一篇介绍结合使用;

  5. 所有同目录测试文件运行前都会执行conftest.py文件;

  6. 实际项目中,一般都用例都是放在不同的模块下,每个模块下的前置条件、后置条件可以放在模块包下的conftest.py文件下;

05

PS

  1. 后续文章将继续深入pytest的总结和学习;

  2. 大家有问题,可以通过公众号首页添加作者微信、多交流、多沟通;

  3. 由于最近比较忙,没时间更新,请大家多多包涵;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值