首页 > 编程语言 >python的pytest框架

python的pytest框架

时间:2023-04-10 18:35:15浏览次数:36  
标签:开头 框架 python xx pytest 测试 test 执行

pytestunittest的区别:

1.安装需求不同。pytest为第三方单元测试库,需额外安装;unittest为标准库,无需额外安装。

2.用例编写规则不同。pytest编写规则较为简单,兼容性较好;unittest需按照固定的格式编写,较为复杂。

 pytest优点:

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

Pytest 是 python2 自带的自动化测试框架,python3 的版本的话 pytest 框架独立出来,需要 pip 进行安装

 

pip install   -u  pytest

 1、测试文件以 test_xx.py 命名需要以 test_开头(或_test 结尾);

2、测试类以 Test_开头,并且不能带有 init 方法;

3、测试函数或方法以 test_xx 开头;

 

一、编写测试用例:

pytest 执行时默认是执行指定路径下以test_开头或者以_test 结尾的文件里的测试类或者方法,默认是执行以 Test_开头的类和 test_开头的方法。

 

 

二、断言

pytest 一共有五种断言:

assert xx           判断 xx 为真
assert not xx       判断 xx 不为真
assert a in b         判断 b 包含 a
assert a == b          判断 a 等于 b
assert a !=b         判断 a 不等于 b

 

 

三、用例执行

使用命令行执行

cmd 窗口,然后执行 pytest 文件路径/测试文件名例如 pytest  ./test_tt.py

如果当前路径已经是放测试用例文件的文件夹下,想要测试文件,则直接可以  输入pytest 测试文件名 即可:

如果只输入 pytest,则会默认执行当前文件夹下所有以 test_开头(或_test 结尾)的文件

如果提示pytest不是内部或者外部命令 在cmd下输入:pip install -U pytest    即可

 

pytest  -v  test_demo1.py    

输出用例详细的执行信息

 

 IDE(PyChram)执行

执行当前文件所在路径下的文件,指定文件名则执行指定的文件,若没指定,执行所有 test_开头或者_test 结尾的文件。

 

标签:开头,框架,python,xx,pytest,测试,test,执行
From: https://www.cnblogs.com/mayyan/p/17303540.html

相关文章

  • python可视化工具——seaborn模块
    python可视化工具——seaborn模块参考Python数据可视化的完整版操作指南(建议收藏)导入模块importseabornassnssns.set()#初始化图形样式,若没有该命令,图形将具有与matplotlib相同的样式读取数据df=pd.read_csv('D:\Graduate\python_studying\datasets-master\\t......
  • 安装python第三方库报:is not a supported wheel on this platform
    1,在cmd中输入pipdebug--verbose,如下图圈红的就是当前python使用的标签,所以可以把cryptography-40.0.1-pp39-pypy39_pp73-win_amd64.whl改成cryptography-40.0.1-py39-none-any.whl就能安装成功 ......
  • opencv-python 4.16. 基于GrabCut算法的交互式前景提取
    理论GrabCut算法由英国剑桥微软研究院的CarstenRother,VladimirKolmogorov和AndrewBlake设计。在他们的论文:"GrabCut":interactiveforegroundextractionusingiteratedgraphcuts中提出了一种基于最小用户交互的前景提取算法,其结果为GrabCut。从用户的角度来看,它是如何工......
  • Python常见面试题016. 请实现如下功能|谈谈你对闭包的理解
    016.请实现如下功能|谈谈你对闭包的理解摘自<流畅的python>第七章函数装饰器和闭包实现一个函数(可以不是函数)avg,计算不断增加的系列值的平均值,效果如下defavg(...):passavg(10)=>返回10avg(20)=>返回10+20的平均值15avg(30)=>返回10+20+30的平均值20......
  • python抓取星巴克图片案例
    importrequestsfrombs4importBeautifulSoupr=requests.get('https://www.starbucks.com.cn')soup=BeautifulSoup(r.text,'lxml')imgs=soup.select('.padded-2>aimg[src]')num=0forimginimgs:num+=1#......
  • Python中如何将列表数据清空?
    Python列表可以用来存放相同数据类型的元素,既然能添加元素,那么也能删除元素。但是删除时,因为列表数据较多,一个一个删除太过于麻烦,进度还慢,这时有小伙伴就会问我:Python中如何将列表数据清空?本文为大家介绍两种方法,一起来看看吧。1、使用del关键字del可以用来清除范围中......
  • Python Http 请求
    如果要进行客户端和服务器端之间的消息传递,我们可以使用HTTP协议请求HTTP协议请求主要分6种类型(GET和POST较常用)1)GET请求通过URL网址传递信息,可以直接在URL中写上要传递的信息,也可以由表单进行传递(表单中的信息会自动转化为URL地址中的数据,通过URL地址传递)备注:已经取得资源,并......
  • 【Python】pip intall 遇到了WARNING: Retrying (Retry(total=4, connect=None, read=
    具体可能会遇到的是以下这些情况:WARNING:Retrying(Retry(total=4,connect=None,read=None,redirect=None,status=None))afterconnectionbrokenby'ProxyError('Cannotconnecttoproxy.',OSError(0,'Error'))'requests.exceptions.ProxyErro......
  • python操作mysql数据库
    Python操作mysql库python操作mysql数据库,需要使用第三库:pymysql一、mysql安装官网:https://www.mysql.com/二、安装pymysqlpipinstallPyMySql-ihttp://pypi.douban.com/simple/--trusted-hostpypi.douban.com三、使用代码演示:importpymysqlconn=pymysql.connec......
  • 软件测试|超好用超简单的Python GUI库——tkinter(四)
    前言之前我们介绍了label控件,本篇文章我们将介绍button控件。Button控件是Tkinter中常用的窗口部件之一,同时也是实现程序与用户交互的主要控件。通过用户点击按钮的行为来执行回调函数,是Button控件的主要功用。首先自定义一个函数或者方法,然后将函数与按钮关联起来,最后,当用户......