pytest入门conftest.py的应用

一、fixture结合contest.py文件使用

1、conftest.py用于存放fixture的配置文件。名称是固定的。

2、在conftest.py文件里面所有方法在调用时都不需要导包

3、conftest.py文件可以有多个,且多个conftest.py文件里的多个fixture可以被一个用例调用。(即在不同的用例package中也可以建conftest.py文件实现调用,而根目录下就是所有用例都可以调用的)

4、conftest.py与运行的用例要在同一个pakage下,并且有__init__.py文件

二、conftest.py使用场景

接口需要公用的配置信息、测试用例、token等等

三、conftest.py使用范围

作用于同一目录下的所有测试用例

四、conftest.py 的scope范围

@pytest.fixture(scope=“session”,autouse=True)
在该目录下的所有的测试用例只会执行一次
@pytest.fixture(scope=“module”,autouse=True)
在该目录下的每个py文件会执行一次
@pytest.fixture(scope=“class”,autouse=True)
在该目录下的每个类会执行一次
@pytest.fixture(scope=“function”,autouse=True)
在该目录下的每个测试函数会执行一次

六、在根目录下新建conftest.py文件

然后我们把fixture相关代码剪切到conftest.py文件中

把红框中的代码剪切到contest.py中。

然后执行,发现还是可以跑通。在conftest.py文件中可以写多个fixture装饰器方法。在其他文件调用时不需要导包即可实现调用。

七、优先级问题

fixture的session优先级最高

fixture的class级别高于setup_class,也就是先执行fixture的scope="class"代码

fixture的function级别高于setup,即先执行fixture的scope="function"代码

八、pytest的执行过程

1、查询根目录下的conftest.py文件 2、查询根目录下的pytest.ini文件,找到测试用例的配置 3、查询目录下的conftest.py文件 4、查询用例中是否有setup、teardown、setup_class、teardown_class 5、根据pytest.ini配置的测试用例执行规则去执行测试用例

原文链接:

https://cloud.tencent.com/developer/article/1945956

https://www.csdn.net/tags/MtTaMg0sNzEzMzYyLWJsb2cO0O0O.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值