zoukankan      html  css  js  c++  java
  • python之pytest基础

    pytest简介:
    pytest 是 python 的第三方单元测试框架,比自带的 unittest 更简洁和高效,同时兼容 unittest 框架。它还有如下优点:
    1、简单灵活,容易上手,文档丰富;
    2、支持参数化,可以细粒度地控制要测试的测试用例;
    3、能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests);
    4、pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-rerunfailures(失败case重复执行)、pytest-xdist(多CPU分发)等;
    5、测试用例的skip和xfail处理;
    6、可以很好的和CI工具结合,例如jenkins。
    pytest是python的一个第三方类库,可以直接使用pip install pytest 在线安装,或者下载离线包安装。
     
    pytest测试用例编写规则:
    1、测试文件以test_开头(满足test_*.py格式或*_test.py格式)
    2、测试类以Test开头,并且不能带有 init 方法(注意:定义class时,需要以T开头,不然pytest是不会去运行该class的)
    3、测试函数以test_开头,在单测类中,可以包含一个或多个test_开头的函数。在执行pytest命令时,会自动从当前目录及子目录寻找符合上述约束的测试函数来执行
    4、断言必须使用 assert
     
    pytest中的fixture:
    fixture是pytest特有的功能,它用pytest.fixture标识,定义在函数前面。
    fixture有明确的名字,在其他函数,模块,类或整个工程调用它时会被激活。
    fixture是基于模块来执行的,每个fixture的名字就可以触发一个fixture的函数,它自身也可以调用其他的fixture。
     
    运行时:
    在控制台第一次运行方式,生成数据:py.test test_report.py   --alluredir report
    在控制台第二次把数据生成报告:allure generate report/ -o report/html
    运行生成allure报告:
    py.test --alluredir rults
    allure generate rults -o rults/html
     

  • 相关阅读:
    在Xsheel Linux上安装nodejs和npm
    判断js中的数据类型的几种方法
    Sequelize 中文API文档-1. 快速入门、Sequelize类
    php中 ob_start()有什么作用
    PHP错误类型及屏蔽方法
    ajax对象的获取及其常用属性
    linux工作笔记
    Redis和Memcached的区别
    MySQL架构
    Http协议三次握手过程
  • 原文地址:https://www.cnblogs.com/boosli/p/14783754.html
Copyright © 2011-2022 走看看