干货批发一手货源在哪进货,干货食品大全
本文节选自霍格沃茨测试学院内部教材《进阶学习》,文末补充!
简介pytest是一款成熟的全功能Python测试工具,可以帮助你写出更好的程序。它类似于Python自己的unittest测试框架,但pytest更简洁,使用起来更高效,并且与Unittest框架兼容。Py具有以下实用功能:
Pytest可以支持简单的单元测试和复杂的功能测试;Py本身支持单元测试;接口测试可以结合请求来实现;硒和镅结合实现自动化功能测试;利用pytest结合Allure融入Jenkins可以实现持续融合。一般来说,在代码集成到主干分支后,使用持续集成来完成回归测试,通过自动化测试的方式实现产品的快速迭代,同时保证产品的高质量。Pytest支持超过315个插件;参考网站:
安装plugincompat.herokuapp.com/docs.pytest.org/pip install-U pytest查看版本
Py-version在Pycharm中运行pytest案例,打开py charm-设置-工具-python集成工具-测试:pytest。
首先,将其设置为pytest。您需要安装pytest。可以根据该页面提示直接点击“修复”,也可以在项目解释器中添加pytest依赖包。安装pytest之后,所有符合规则的编写的测试用例都可以被识别出来,并用一个绿色的execute按钮进行标记。点击这个按钮也可以执行某个方法或者某个类。例如:
Pycharm将运行模式设置为pytest后,用例左侧会显示一个绿色按钮,可以直接点击执行用例。
用例识别和操作用例编写规范基于:
测试文件以Test_(或者以_test结尾)开头,测试类以Test开头,不能有init方法。测试函数以Test_ assert开头可以使用基本assert创建python文件,用test_(或者以_test结尾)命名,用test_创建测试方法,测试类需要以test开头。使用以下代码创建一个名为test_add.py的文件:
#!/usr/bin/env python #-*-coding:utf-8-*-def add(x,y):return x ydef test _ add():assert add(1,10)==11 assert add(1,1)==2 assert add(1,99)==100 class test class:def test _ one(self):x= this assert h in x def test _ two(self):x= hello assert has attr(x,Check )运行test_add.py文件,输入此pytest会找到当前目录,找到所有的test_*。py或*_test.py文件,并将它们视为测试文件。在这些文件中,pytest将收集符合编写规范的函数、类和方法,将其作为测试用例,并按如下方式执行:
$ pytest.test_add.py.F [100%].self=test_cases.test_add。TestClass对象at0x 1091810d 0 def test _ two(self):x= hello assert hasattr(x, Check )E assertion error:assert False where False=hasattr( hello ,Check )test _ add . py:18:assertion error============================================如果有错误,会有详细的错误信息。Pytest还支持Unittest模式的用例定义。
控制测试用例的执行顺序pytest不按顺序加载所有测试用例。如果您想要指定测试用例的顺序,您可以使用pytest-order插件。要指定测试用例的执行顺序,只需要添加装饰物@pytest.mark.run(order=[num])设置order对应的num值,就可以按照num的顺序执行了。
应用场景:有时运行时需要指定测试用例的顺序。例如,在某些情况下,您需要先运行登录,然后才能执行后续流程,如购物流程和下订单流程。这时,你需要指定测试用例的顺序。pytest-ordering插件可以用来指定用例的顺序。
安装pip安装pytest-ordering case,使用以下代码创建一个测试文件“test_order.py ”:
导入pytest
类TestPytest(对象):
@pytest.mark.run(order=-1)
def test_two(自我):
打印(“测试二,测试用例”)
@pytest.mark.run(order=3)
定义测试_一(自我):
打印(“测试一,测试用例”)
@pytest.mark.run(order=1)
def测试_三(自身):
print(\ntest_three,test case )的执行结果按以下顺序显示:
省略.插件:html-2.0.1,重新运行失败-8.0,xdist-1.31.0,\订购-0.6,分叉-1.1.3,allure-pytest-2.8.11,元数据-1 . 8 . 0收集.收集了3个项目test _ order . py:TestPytest:test _ three test _ order . py:TestPytest:test _ one test _ order . py:TestPytest:tes T _ two省略.从上面的执行结果可以看出,执行是按顺序进行的:order=1,order=3,order=-1。
转载请联系作者取得转载授权,否则将追究法律责任。评论0发表评论
wx6295e0fca1591
2022-06-13 13:47
只是一个大男人,遥不可及。我将与你分享它。你们是亲戚吗?
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。