• <<pytest测试实战>>读书笔记第三章


    pytest fixture

    1. 如何申明是一个fixture,只需要在函数前面加上装饰器 @pytest.fixture()

      作用: 可以完成任务,也可以返回数据给测试函数

    2. fixture的搜索规则:优先搜索当前的测试模块有没有fixture,其次在当前目录下面搜索conftest.py中搜索有没有fixture,再次往上一级目录进行搜索(类似于js中this对象的查找范围)

    3. 使用fixture传递测试数据:

    @pytest.fixture()
    def a_tuple():
    """Return something more interesting."""
    return (1, 'foo', None, {'bar': 23})


    def test_a_tuple(a_tuple):
    """Demo the a_tuple fixture."""
    assert a_tuple[3]['bar'] == 32

    4. fixture的指定范围

    fixture包含一个叫scope的可选参数,默认是scope='function',有四个可选参数   function   class  module  session

    scope='function': 使用了该fiture的函数,每次这个函数调用,该fixture都会运行(直接传入fixture的名称)

    scope='class  ,类运行的时候该fixture才会运行(在类上加的fixture,里面的方法都是可以使用这个fixture的,@pytest.mark.usefixtures('fixyure1','fixture2'))

    scope='module ',该py文件运行的时候fixture才会运行

    scope='session'  每次运行pytest命令的时候该fixture才会运行

    使用测试方法中添加fixture参数和使用@pytest.mark.usefixtures('fixyure1','fixture2'),区别是只有前者才可以使用fixture的返回值

    5. fixture的参数化:类似于测试方法的参数化

    6. 剩下的几章是一些不常用的部分,但是可以去了解下  pytest+allure+jenkins在linux环境下执行,效果还是非常不错的(allure是可以定制报告)

    7. 关于整体写项目的思路:底层封装好api,api上再封装一层业务层,业务层上再封装一层逻辑层,判断执行的结果,最外层使用pytest堆逻辑层的结果进行判断,并输出报告

  • 相关阅读:
    xcode debug
    ios 使用Quartz 2D画虚线
    ios UIGestureRecognizer
    ios 实现带矩形框的屏幕截图
    ios UISegemetedControl
    centos最小安装之后无法使用ifconfig
    无线LoRa智能远传水表
    智能水表188协议汇总
    无线LoRa远传智能水表
    静电除尘器除尘原理
  • 原文地址:https://www.cnblogs.com/wenshu/p/12266969.html
Copyright © 2020-2023  润新知