• pytest总结


    pytest 好处
    - 灵活的筛选用例
    - 有没有手工加载用例,运行用例? 不需要手工添加,手动运行。 pytest.main()
    testsuite, test_loader, test_runner,
    - 自动发现测试用例
    - pytest 是和 unittest 兼容。

    pytest发现用例规则
    - (模块名称是以 test_ 或者 _test.py)
    - 测试类 不能有 __init__(self)
    - 方法名称必须以 test_
    - pytest 测试用例函数可以脱离类的形式,可以直接用函数的形式, 类可以不继承unittest.TestCase
    - 自动发现用例


    通过mark标签 运行指定用例

    标记功能的步骤
    - 先注册, 在pytest.ini 文件

        

    - 打标签: 测试用例函数上面加 @pytest.mark.标签名
    - 运行指定标签用例: pytest -m "标签名"

    pytest执行顺序
    从上至下

    数据驱动
    1、paramatrize()传入的值为list【argvalues1,argvalues2,...】
    2、第一个参数argnames的值需要被装饰的韩式传入的名字一致。
    @pytest.mark.paramatrize("test_info", data):
    def test_demo(test_info):
        print(test_info)
    ## 数据驱动注意事项
    - 在使用pytest.mark.paramatrize 做数据驱动的时候,
    pytest 和 unittest 不兼容。

    如果你想使用 pytest 的数据驱动,就不要继承 unittest.TestCase
    如果你想使用 unittest写用例, 就要用 unittest 的数据驱动


    测试夹具  
    - 普通函数
    - @pytest.fixture() 声明这是一个测试夹具
    - 把 return 改成 yield 实现前置和后置
    - yield 前就是前置
    - yield 后的就是后置
    - 后置清理语句放在 yield 之后
    相当于 unittest里面的 setupclass teardownclass

    一般在项目下新建conftest.py作为整个项目的前置和后制
     


  • 相关阅读:
    企业级应用TOMCAT
    HTTP服务及状态码
    Zabbix服务网页报错汇总
    spring aop 嵌套方法注解不生效
    oracle数据库密码修改和解锁
    redis安装
    docker简介
    ffmpeg简介
    JAVA学习笔记之变量
    JAVA学习笔记之类和对象
  • 原文地址:https://www.cnblogs.com/XXQQ123/p/13408276.html
Copyright © 2020-2023  润新知