zoukankan      html  css  js  c++  java
  • pytest快速入门(3)--fixrture的共享和嵌套

    一、fixture的共享机制

    conftest.py模块主要用于定义各种fixture,其中的fixtures可以被外部的测试用例进行调用,从而实现conftest.py中的fixture被共享。

    1、共享的范围

    conftest.py模块所在目录下的(包含其子目录)测试用例均可以调用该模块中定义的fixture。

    【实例】

    (1)目录结构

     (2)测试用例

    2、共享的优先级

    在实际应用中,我们可能在不同的package中定义多个conftest.py文件,此时测试用例中调用fixture的原则为:就近原则

    即优先级别为:测试用例所在模块定义的fixture  >>  测试用例所在目录下的conftest.py  >> 测试用例所在目录的父目录下的conftest.py

    二、fixture的嵌套

    fixture的嵌套类似于类的继承关系。

    1、什么时候使用fixture的嵌套?

    A:新定义的fixture想完全使用另一个fixture,并且在其基础上新增一些操作。

    2、如何实现嵌套? -- fix2中嵌套fix1

    1 @pytest.fixture
    2 def fix1():
    3     pass
    4 
    5 @pytest.fixture
    6 def fix2(fix1):
    7     新增加的代码
    8     pass

    3、嵌套fixture的执行顺序? -- 以上述嵌套为例进行说明

    fix1的前置

    fix2的前置

    fix2的后置

    fix1的后置

    4、可以将任意级别的fixture进行嵌套吗?

    不能,根据嵌套fixture的执行顺序,fix1的级别 >= fix2的级别。

  • 相关阅读:
    代码—五天前是星期几
    随手笔记-日期
    建造曲线记忆表格
    2017-5-10随手记
    java-web——第一课 tomcat
    复习
    Leetcode 24. Swap Nodes in Pairs(详细图解一看就会)
    这可能是最详细的解析HTTP走私攻击的文章
    使用grub2引导进入Linux或Window系统
    ACM集训第一次积分赛赛前复习+day4
  • 原文地址:https://www.cnblogs.com/yif930916/p/14790339.html
Copyright © 2011-2022 走看看