当前位置: 首页 > news >正文

大港手机网站建设电商运营工资大概多少

大港手机网站建设,电商运营工资大概多少,网站做系统叫什么软件有哪些,嵌入式开发软件有哪些此前一直认为fixture就叫python中的装饰器#xff0c;学习后才发现decorators才是装饰器#xff0c;fixture是pytest框架的夹具#xff0c;只是通过装饰器去定义和使用。所以要了解fixture就得先了解python装饰器。 一、装饰器(decorators) 1.定义 装饰器#xff08;dec…此前一直认为fixture就叫python中的装饰器学习后才发现decorators才是装饰器fixture是pytest框架的夹具只是通过装饰器去定义和使用。所以要了解fixture就得先了解python装饰器。 一、装饰器(decorators) 1.定义 装饰器decorators是 Python 中的一种高级功能允许动态地修改函数或类的行为。装饰器是一种函数 它接受一个函数作为参数并返回一个新的函数或修改原来的函数。 2.使用场景 日志记录(函数的调用信息、参数、返回值)、性能分析(函数执行时间)、权限控制(函数访问权限)、缓存(函数结果缓存) 3.装饰器使用方法 我采用一个方法来写清楚它的使用方法以及对参数的接收处理按步骤查看注释 1基本语法 #1.声明装饰器函数new_function用original_function接收原始函数old_function def new_function(original_function):#3.声明一个inner_function方法---接受原始函数的参数并进行处理。#*args表示接收任意数量的位置参数--非关键字参数并打包成一个元组。#**kwarg表示接收任意数量的关键字参数--如keyvalue并打包成一个字典。#两种方式作用为了兼容所有传进来的参数类型def inner_function(*args, **kwargs):# 4.调用原始函数前添加的新操作print(添加的前置操作对关键字参数进行处理)#对关键字参数处理--元组不支持修改print(传进来的元组参数,args)print(传进来的关键字参数,kwargs)kwargs[a]10# 5.将修改后的参数传回result original_function(*args, **kwargs)# 6.调用原始函数后添加的新操作print(添加的后置操作)return result#7.返回新函数inner_functionreturn inner_function#8.使用装饰器new_function,现在调用的函数实际是处理后的新函数 #等同于old_function new_function(old_function) new_function #2.声明原始函数old_function def old_function(arg1,arg2,aNone):print(原始函数)print(修改过后的a:,a)#9.带参数调用函数 old_function(1, 3, a4)执行结果 多个装饰器装饰方法时会依次调用。 2内置装饰器 除了装饰方法以外装饰器还可以装饰类。Python 提供了一些内置的装饰器例如 staticmethod: 将方法定义为静态方法不需要实例化类可直接调用。 classmethod: 将方法定义为类方法第一个参数是类本身通常命名为 cls。 property: 将方法转换为属性使其可以像属性一样访问。 二、fixture夹具 如果理解了装饰器是什么就不难理解fixture夹具了。在pytest测试框架中夹具fixture–英文释义固定器械是一种用于为测试用例提供预置环境或共享资源的机制。个人理解fixture就是pytest封装好了的一个装饰器函数名称----pytest.fixture。既然fixture是封装好的那一定有指定的参数和调用方法。 1.fixture的参数 如上图封装好的fixture方法可见fixture有五种传参 #实例用法 pytest.fixture(scope,autouse,params,ids,name)1scope—fixture的作用范围一共有四种 function(函数级)每一个函数或方法都会调用 class(类级别)每个测试类只运行一次 module(模块级)每一个.py文件调用一次 package(包级)每一个python包只调用一次(暂不支持) session(会话级)每次会话只需要运行一次会话内所有方法及类模块都共享这个方法 执行优先级session module class function 这个地方先不举例和2联合起来举例通过2的示例将会很清楚scope的执行过程 2autouse—是否自动执行 默认为False设置为True后设置的执行范围scope里面包含的所有用例都会执行这个方法。不用再手动在每个要装饰的方法上使用pytest.mark.usefixture(“fixturename”)。 示例代码 import logging import pytest from allure_commons import fixture# 会话级别的 fixture - 整个测试运行期间只执行一次 pytest.fixture(scopesession, autouseTrue) def session_fixture():print(\n session 范围 fixture 开始 (整个测试会话只执行一次) )yieldprint(\n session 范围 fixture 结束 (所有测试完成后执行) )# 模块级别的 fixture - 每个测试模块只执行一次 pytest.fixture(scopemodule, autouseTrue) def module_fixture():print(\n***** module 范围 fixture 开始 (每个.py文件只执行一次) *****)yieldprint(\n***** module 范围 fixture 结束 (文件所有测试完成后执行) *****)# 类级别的 fixture - 每个测试类执行一次 pytest.fixture(scopeclass, autouseTrue) def class_fixture():print(\n------ class 范围 fixture 开始 (每个测试类只执行一次) ------)yieldprint(\n------ class 范围 fixture 结束 (类中所有测试完成后执行) ------)# 函数级别的 fixture - 每个测试函数执行一次 pytest.fixture(scopefunction, autouseTrue) def function_fixture():print(\n function 范围 fixture 开始 (每个测试方法执行一次) )yieldprint(\n function 范围 fixture 结束 (每个测试方法完成后执行) )def test_outside_class():print(执行类外的测试函数)assert Trueclass TestClass:def test_case1(self):print(执行test_case1)assert Truedef test_case2(self):print(执行test_case2)assert True执行打印 3params—参数 示例代码 import pytestpytest.fixture(scopefunction,params[1,2,3,4]) #固定写法用request表示参数 def function_fixture(request):#固定写法提取参数yield request.param#这里用注释来使用装饰器 pytest.mark.usefixtures(function_fixture) def test_param():print(test)运行结果 4ids—给params参数每一个值设置变量名 上述params示例中可以看到传入了参数1、2、3、4。但是没有参数名称不太方便去使用。这个ids就是给参数设置变量名。 示例代码 import pytestpytest.fixture(scopefunction,params[1,2,3,4],ids[p1,p2,p3,p4]) #固定写法用request表示参数 def function_fixture(request):#固定写法提取参数yield request.param#直接在测试函数参数中声明fixture名称来获取参数 def test_param(function_fixture):print(f当前参数值: {function_fixture})print(test)运行结果 5name–给fixture标记的方法取别名 例如以上的function_fixture我给它起名为fixname 示例代码 import pytestpytest.fixture(scopefunction,params[1,2,3,4],ids[p1,p2,p3,p4],namefixname) #固定写法用request表示参数 def function_fixture(request):#固定写法提取参数yield request.param#直接在测试函数参数中声明fixture名称来获取参数 def test_param(fixname):print(f当前参数值: {fixname})print(test)运行结果 2.fixture配置conftest.py使用 上述代码中是在每个测试用例py中定义的fixture测试过程中会有很多通用的操作岂不是每个用例中都要定义一遍这里就用到了conftest.py来管理。 conftest.py主要作用是用于定义和共享测试配置、Fixture以及其他测试相关的设置、避免重复代码提高测试代码的可维护性和可重用性使测试代码本身更专注于测试逻辑—简单的说就是可以跨测试用例共享数据和资源对测试前后的配置和数据处理等操作 注和conftest.py同一目录以及子目录的测试均可使用其中装饰器。 示例代码 test_conf.py import pytestdef test_conf():print(测试conftest.py文件,即使这里没有使用fixture也会调用)conftest.py import pytestpytest.fixture(scopefunction, autouseTrue) def function_fixture():print(\n function 范围 fixture 开始 (每个测试方法执行一次) )yieldprint(\n function 范围 fixture 结束 (每个测试方法完成后执行) )目录结构 运行结果 通常配合conftest.py用的还有钩子hook函数。 三、总结 1、decorators装饰器是一种函数 它接受一个函数作为参数并返回一个新的函数或修改原来的函数。----个人理解装饰器就是封装好了一个函数然后采用函数名称()来注释另一个函数以使用该装饰器达到某些目的。 2、fixture测试夹具本质上是一个函数为测试提供可重用的环境支持。用pytest.fixture()装饰器将一个函数标记为pytest可识别的fixture夹具。 3、可以用conftest.py来管理共享的装饰器。
http://www.hyszgw.com/news/97707.html

相关文章:

  • 关于景区网站规划建设方案书centos wordpress ftp
  • 大学生作业做网站微商城手机网站制作公司
  • 做网站那个平台好首都之窗app下载安装
  • 温州做网站报价昆明建站网站资讯平台
  • 做云词图的网站做网站用国内还是国外的vps
  • 做网站策划需要用什么软件中国企业网网址
  • 怎样下载网站模版群晖 wordpress 单用户
  • 东莞最好的网站建设价格低wordpress 自动删除文章
  • 网站内部优化搜索引擎营销案例分析题
  • 赣州市城乡建设局官方网站挖掘爱站网
  • 网站域名后缀意义网站导航设计法则
  • 四川省建设工程网站环境建设公司网站
  • 网络推广最好的网站有哪些网络产品营销策略范文
  • 青岛网站建设维护如何加强网站信息建设
  • 网站建设专业性的评价内容php网站的优点
  • 网站系统怎么用湛江做网站哪家好
  • 织梦源码模板下载商城网站模板 整站带栏目高端大气上档次含数据网站百度流量怎么做
  • app开发网站ECMS做的网站
  • 新闻发布网站建设实训小结福田网站建设龙岗网站建设罗湖网站建设福田网站建设
  • mip网站实例广告怎么做
  • 中国电子系统建设三公司网站淮北住房和城乡建设局门户网站
  • 怎样运营网站wordpress分页页面
  • 建设个人网站赚钱的经历建设网络强国心得体会
  • 小米手机网站的风格设计顺德龙江做网站
  • 如何在学校内网建立网站建设网站证
  • 有哪些装修网站五屏网站建设动态
  • 移动网站开发认证考试东莞市seo网络推广怎么样
  • 怎么用手机创造网站炫酷网站代码
  • 哈尔滨市延寿建设局网站wordpress当前文章所在的分类
  • 企业宽带可以做网站吗重庆网页制作设计