首页 > 其他分享 >pytest-介绍

pytest-介绍

时间:2022-11-22 10:14:15浏览次数:28  
标签:py pytest 介绍 测试用例 test 执行 warning

1、pytest简单介绍

pytest是一个非常成熟的全功能的Python测试框架,主要有以下几个特点:

简单灵活,容易上手
支持参数化
能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests)
pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-rerunfailures(失败case重复执行)、pytest-xdist(多CPU分发)等
测试用例的skip和xfail处理
可以很好的和jenkins集成
report框架----allure 也支持了pytest

2、pytest安装

可以直接通过pip安装:

pip install pytest

安装成功后,可以在cmd中输入

pytest --version

来查看pytest是否安装成功,且输出版本号

 

3、pytest简单使用

pytest的注意点:

  1. 所有的测试用例文件名都需要满足test_*.py格式或*_test.py格式(可在pytest.ini中更改这种规则)
  2. 在测试用例文件中,测试类以Test开头,并且不能带有 init 方法
  3. 测试用例函数名以test*来命名
  4. pytest断言是通过assert进行调用
  5. pytest执行通过cmd进行,会自动从当前目录及子目录中寻找符合上述约束的测试函数来执行

注意点都知道后,那么就开始写一个简单的测试用例文件test_01.py(符合测试用例文件名满足test_*.py格式或*_test.py格式)

#导入pytest
import pytest

#创建测试类,命名规则符合Test*,并且没有带有ini方法
class Test_01:
    #创建测试用例
    def test_01(self):
        print('test_01执行')

    def test_02(self):
        print('test_02执行')

if __name__ == '__main__':
    #执行当前路径下所有测试文件的测试用例
    pytest.main()

 pycharm中可以直接点击run(效果等同于cmd的当前路径下执行pytest )

 输出结果:

 

 可以看到输出内容中:

platform:打印系统版本,以及python、pytest、pytest包的版本信息

rootdir:执行测试用例的根目录

plugins:安装pytest插件的版本

collected:搜索到的测试用例个数

 

 

表示test_1.py 2个测试用例都测试通过, .表示用例通过,F表示用例失败,[100%]表示执行用例个数/搜索到用例个数

 

表示测试用例测试结果情况,以及执行测试用例总时长

 

warning解决:

可以看到,执行pytest后,有个warning打印,且还拉长了执行时间,也不知道咋回事。但这么简单的一个测试用例文件确实没有调用到collections库,很不雅观,那么我们就将其去掉这个warning打印吧

在测试用例文件的同级目录下,新建一个pytest.ini文件,然后输入

[pytest]
addopts = -p no:warnings

 

取消warning打印后,重新执行pytest

 

可以看到,warning打印已经消失,执行时长也达到了0.03s,同时还多了一个参数configfile,表示配置文件读取的是pytest.ini(很多改动可以在这个文件里配置,例如测试用例文件,测试用例类,测试用例函数命名规则的改动等)

 

标签:py,pytest,介绍,测试用例,test,执行,warning
From: https://www.cnblogs.com/trystudy/p/16914223.html

相关文章

  • Java - HuTool工具的介绍与使用(总)
    本篇主要介绍HuTool工具,其是java工具类,对于一些静态方法进行封装,虽然很小,但很全,里面拥有平时我们会用到的工具类,就无需我们自己去封装了以前我还自己去封装,emmm,我真的......
  • K8s介绍
    K8s介绍k8s是一个编排容器的工具,其实也是管理应用的全生命周期的一个工具,从创建应用,应用的部署,应用提供服务,扩容缩容应用,应用更新,都非常的方便,而且可以做到故障自......
  • python中的字符串的常用方法介绍
    a="alxeLi金角大王"   #创建一个字符串来演示方法的功能结果。一下都使用这个字符串演示。首先要了解的常识性的知识点是:字符串是不可变的序列。所有对字符串的......
  • pytest重复执行用例
    一、在cmd安装repeatpytest-repeat是pytest的一个插件,用于重复执行单个用例,或多个测试用例,并指定重复次数,pytest-repeat支持的版本:python2.7,3.4+或PyPypy.test2.......
  • 第二类增值电信业务经营范围/增值电信业务经营许可证B2类介绍
    第二类增值电信业务经营范围,你听说过吗?其实增值电信业务许可证是互联网很重要的资质,基础电信业分为A1和A2。电信业务分为B1和B2,龙翊信安就讲讲B类业务。常见的资质我们也在......
  • 01.综合介绍
    框架:比如建房子,地基承重墙房顶就是框架,必须完善,禁不起错误房子里面:粉刷墙面,铺地板,容错率高,符合实际场景,灵活性强框架可以理解成软件半成品,帮你做了写基础操作,在基础上......
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:FingerPrint指纹识别组件
    本文简述如何在Smobiler中使用FingerPrint。Step1.新建一个SmobilerForm窗体,并在窗体中加入FingerPrint和Button,布局如下Button的点击事件代码:privatevoi......
  • linux入门介绍
    Linux的命令基本格式为:[root@localhost~]#命令[选项][参数][]中代表可选项即也可不带选项和参数shell   翻译官 将人类使用的高级语言 转换成二进制 ce......
  • mysql hint介绍
    在mysql中,hint指的是“查询优化提示”,会提示优化器按照一定的方式来生成执行计划进行优化,让用户的sql语句更具灵活性;Hint可基于表的连接顺序、方法、访问路径、并行度......
  • Delphi IdTCPClient[1] 介绍、属性、方法
    DelphiIdTCPClient[1]介绍、属性、方法1、介绍实现TCP客户端。TIdTCPClient封装了一个完整的TCP(传输控制协议)客户端,包括socks支持。TIdTCPClient可以用作特定协议实现......