zoukankan      html  css  js  c++  java
  • 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作为整个项目的前置和后制
     


  • 相关阅读:
    食谱
    食谱
    食谱
    无题
    Appium+python 自动发送邮件(2)(转)
    Appium+python 自动发送邮件(1)(转)
    Appium+python HTML测试报告(2)——一份报告模板(转)
    Appium+python HTML测试报告(1)(转)
    Appium+python的单元测试框架unittest(4)——断言(转)
    Appium+python的单元测试框架unittest(3)——discover(转)
  • 原文地址:https://www.cnblogs.com/XXQQ123/p/13408276.html
Copyright © 2011-2022 走看看