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

专门建站的公司CP网站建设搭建需要多少钱

专门建站的公司,CP网站建设搭建需要多少钱,我要软文网,1m的带宽做网站可以吗一、fixture简介 学pytest就不得不说fixture#xff0c;fixture是pytest的精髓所在#xff0c;类似unittest中setup/teardown这种前后置东西。但是比它们要强大、灵活很多#xff0c;它的优势是可以跨文件共享 fixture的目的是提供一个固定基线#xff0c;在该基线上测试可…一、fixture简介 学pytest就不得不说fixturefixture是pytest的精髓所在类似unittest中setup/teardown这种前后置东西。但是比它们要强大、灵活很多它的优势是可以跨文件共享 fixture的目的是提供一个固定基线在该基线上测试可以可靠地和重复地执行。fixture提供了区别于传统单元测试setup/teardown有显著改进 1、有独立的命名并通过声明它们从测试函数、模块、类或整个项目中的使用来激活。 2、按模块化的方式实现每个fixture都可以互相调用。 3、fixture的范围从简单的单元扩展到复杂的功能测试允许根据配置和组件选项对fixture和测试用例进行参数化或者跨函数function、类class、模块module或整个测试会话sessio范围。 二、用途 1.做测试前后的初始化设置如测试数据准备链接数据库打开浏览器等这些操作都可以使用fixture来实现 2.测试用例的前置条件可以使用fixture实现 3.支持经典的xunit fixture 像unittest使用的setup和teardown 4.fixture可以实现unittest不能实现的功能比如unittest中的测试用例和测试用例之间是无法传递参数和数据的但是fixture却可以解决这个问题 三、fixture作为参数传入 1、定义fixture跟定义普通函数差不多唯一区别就是在函数上加个装饰器pytest.fixture()fixture命名不要用test_开头跟用例区分开。用例才是test_开头的命名。 2、fixture是可以有返回值的如果没return默认返回None。用例调用fixture的返回值直接就是把fixture的函数名称当成变量传入 3、fixture装饰器里的scope有四个级别的参数。“function不写默认这个”“class”“module”or“session” 4、除scope之外。还有params、autouse、ids、name等。 5、fixture可以有返回值如果没有return默认会是None用例调用fixture的返回值就是直接把fixture的函数名称作为参数传入 6、fixture可以返回一个元组、列表或字典 7、test_用例可传单个、多个fixture参数 8、fixture与fixture间可相互调用 fixture可以返回一个元组、列表或字典pytest.fixture() def user():print(打印装饰器函数)usernamewanglipsw123456assert usernamewangliassert psw 123456return username,psw def test_login(user):print(user)assert user[0]wangliassert user[1] 123456if __name____main__:pytest.main([-s,test03.py])C:\Program Files\Python35\python.exe C:/Users/wangli/PycharmProjects/test/test/test03.pytest session starts platform win32 -- Python 3.5.2, pytest-5.1.2, py-1.8.0, pluggy-0.12.0 rootdir: C:\Users\wangli\PycharmProjects\test\test collected 1 itemtest03.py 打印装饰器函数 (wangli, 123456) . 1 passed in 0.16s Process finished with exit code 0 test_用例可传单个、多个fixture参数pytest.fixture() def username():print(打印username装饰器函数)usernamewangliassert usernamewanglireturn username pytest.fixture() def psw():print(打印psw装饰器函数)psw123456assert psw123456return psw def test_login(username,psw):print(username,psw)assert usernamewangliassert psw 123456if __name____main__:pytest.main([-s,test03.py])C:\Program Files\Python35\python.exe C:/Users/wangli/PycharmProjects/test/test/test03.pytest session starts platform win32 -- Python 3.5.2, pytest-5.1.2, py-1.8.0, pluggy-0.12.0 rootdir: C:\Users\wangli\PycharmProjects\test\test collected 1 itemtest03.py 打印username装饰器函数 打印psw装饰器函数 wangli 123456 . 1 passed in 0.13s Process finished with exit code 0 fixture与fixture间可相互调用pytest.fixture() def first():print(first)usernamewangliassert usernamewanglireturn username pytest.fixture() def sencond(first):print(sencond)psw123456assert psw123456return first,psw def test_login(sencond):print(sencond)assert sencond[0]wangliassert sencond[1] 123456if __name____main__:pytest.main([-s,test03.py])C:\Program Files\Python35\python.exe C:/Users/wangli/PycharmProjects/test/test/test03.pytest session starts platform win32 -- Python 3.5.2, pytest-5.1.2, py-1.8.0, pluggy-0.12.0 rootdir: C:\Users\wangli\PycharmProjects\test\test collected 1 itemtest03.py first sencond (wangli, 123456) . 1 passed in 0.02s Process finished with exit code 0 四、fixture源码详解 fixturescopefunctionparamsNoneautouseFalseidsNonenameNone fixture里面有个scope参数可以控制fixture的作用范围scope有四个级别参数function默认classmodulesession params一个可选的参数列表它将导致多个参数调用fixture功能和所有测试使用它。 autouse如果True则为所有测试激活fixture func可以看到它。如果为False则显示需要参考来激活fixture ids每个字符串id的列表每个字符串对应于params这样他们就是测试ID的一部分。如果没有提供ID它们将从params自动生成 namefixture的名称。这默认为装饰函数的名称。如果fixture在定义它的统一模块中使用夹具的功能名称将被请求夹具的功能arg遮蔽解决这个问题的一种方法时将装饰函数命令fixture_fixturename然后使用pytest.fixturenamefixturename。 五、fixture的作用范围 fixture里面有个scope参数可以控制fixture的作用范围sessionmoduleclassfunction -function每一个函数或方法都会调用 -class每一个类调用一次一个类中可以有多个方法 -module每一个.py文件调用一次该文件内又有多个function和class -session是多个文件调用一次可以跨.py文件调用每个.py文件就是module function默认模式pytest.fixture(scopefunction)或 pytest.fixture() 函数级别的每一个函数或方法都会调用每个测试用例执行前都会执行一次function级别的fixture pytest.fixture如果不写参数参数就是scopefunction它的作用范围是每个测试用例来之前运行一次销毁代码在测试用例之后运行。 class类级别pytest.fixture(scopeclass) 如果一个class里面有多个用例都调用了1次fixture那么此fixture只在此class里所有用例开始前执行一次。   pytest.fixture(scopeclass) def test1():b 男print(传出了%s, 且只在class里所有用例开始前执行一次 % b)return bclass TestCase:def test3(self, test1):name 男print(找到name)assert test1 namedef test4(self, test1):sex 男print(找到sex)assert test1 sex if __name____main__:pytest.main([-s,test03.py])C:\Program Files\Python35\python.exe C:/Users/wangli/PycharmProjects/test/test/test03.pytest session starts platform win32 -- Python 3.5.2, pytest-5.1.2, py-1.8.0, pluggy-0.12.0 rootdir: C:\Users\wangli\PycharmProjects\test\test collected 2 itemstest03.py 传出了男, 且只在class里所有用例开始前执行一次 找到name .找到sex . 2 passed in 0.09s Process finished with exit code 0module模块级别pytest.fixture(scopemodule) 每一个.py文件调用一次fixture为module时在当前.py脚本里面所有用例开始前只执行一次模块里所有的用例执行前执行一次module级别的fixture pytest.fixture(scopemodule) def test1():b 男print(传出了%s, 且在当前py文件下执行一次 % b)return bdef test3(test1):name 男print(找到name)assert test1 nameclass TestCase:def test4(self, test1):sex 男print(找到sex)assert test1 sex if __name____main__:pytest.main([-s,test03.py])C:\Program Files\Python35\python.exe C:/Users/wangli/PycharmProjects/test/test/test03.pytest session starts platform win32 -- Python 3.5.2, pytest-5.1.2, py-1.8.0, pluggy-0.12.0 rootdir: C:\Users\wangli\PycharmProjects\test\test collected 2 itemstest03.py 传出了男, 且在当前py文件下执行一次 找到name .找到sex . 2 passed in 0.09s Process finished with exit code 0 session 会话级别pytest.fixture(scopesession) 1、可以跨.py文件调用有多个.py文件调用时实际只调用了一次fixture 2、conftest.py与运行的用例要在同一个pakage下并且有__init__.py文件 3、不需要import导入 conftest.pypytest会自动识别该文件放到项目的根目录下就可以全局调用了如果放到某个package下那就在改package内有效 4、conftest.py配置脚本名称是固定的不能改名称 多个.py文件只调用1次fixtureimport pytest # conftest.py pytest.fixture(scopesession) def get_token():token qeehfjejwjwjej11sss22print(获取到token:%s % token)return tokenimport pytest # test02.py class Test(object):def test2(self,get_token):token qeehfjejwjwjej11sss22print(【执行test02.py-Test类-test2用例,获取get_token%s】 %get_token)assert get_token tokenif __name____main__:pytest.main([-s,test02.py,test03.py])import pytest #test03.py class Test(object):def test3(self,get_token):token qeehfjejwjwjej11sss22print(【执行test03.py-Test类-test3用例,获取get_token%s】 %get_token)assert get_token tokendef test4(self,get_token):token qeehfjejwjwjej11sss22print(【执行test03.py-Test类-test4用例,获取get_token%s】 %get_token)assert get_token tokenif __name____main__:pytest.main([-s,test02.py,test03.py])C:\Program Files\Python35\python.exe C:/Users/wangli/PycharmProjects/Test/test/test02.pytest session starts platform win32 -- Python 3.5.2, pytest-5.1.2, py-1.8.0, pluggy-0.12.0 rootdir: C:\Users\wangli\PycharmProjects\Test\test collected 3 itemstest02.py 获取到token:qeehfjejwjwjej11sss22 【执行test02.py-Test类-test2用例,获取get_tokenqeehfjejwjwjej11sss22】 . test03.py 【执行test03.py-Test类-test3用例,获取get_tokenqeehfjejwjwjej11sss22】 .【执行test03.py-Test类-test4用例,获取get_tokenqeehfjejwjwjej11sss22】 . 3 passed in 0.30s Process finished with exit code 0多个.py文件只调用多次fixtureimport pytest # conftest.py pytest.fixture() def get_token():token qeehfjejwjwjej11sss22print(获取到token:%s % token)return tokenimport pytest # test02.py class Test(object):def test2(self,get_token):token qeehfjejwjwjej11sss22print(【执行test02.py-Test类-test2用例,获取get_token%s】 %get_token)assert get_token tokenif __name____main__:pytest.main([-s,test02.py,test03.py])import pytest #test03.py class Test(object):def test3(self,get_token):token qeehfjejwjwjej11sss22print(【执行test03.py-Test类-test3用例,获取get_token%s】 %get_token)assert get_token tokendef test4(self,get_token):token qeehfjejwjwjej11sss22print(【执行test03.py-Test类-test4用例,获取get_token%s】 %get_token)assert get_token tokenif __name____main__:pytest.main([-s,test02.py,test03.py])C:\Program Files\Python35\python.exe C:/Users/wangli/PycharmProjects/Test/test/test03.pytest session starts platform win32 -- Python 3.5.2, pytest-5.1.2, py-1.8.0, pluggy-0.12.0 rootdir: C:\Users\wangli\PycharmProjects\Test\test collected 3 itemstest02.py 获取到token:qeehfjejwjwjej11sss22 【执行test02.py-Test类-test2用例,获取get_tokenqeehfjejwjwjej11sss22】 . test03.py 获取到token:qeehfjejwjwjej11sss22 【执行test03.py-Test类-test3用例,获取get_tokenqeehfjejwjwjej11sss22】 .获取到token:qeehfjejwjwjej11sss22 【执行test03.py-Test类-test4用例,获取get_tokenqeehfjejwjwjej11sss22】 . 3 passed in 0.04s Process finished with exit code 0
http://wiki.neutronadmin.com/news/241171/

相关文章:

  • 怎样优化自己的网站房地产集团网站欣赏
  • 做视频官方网站手机端网站制作
  • 素材下载网站模板谁的网站模板利于优化
  • 阿里巴巴怎样做网站app外包推广
  • 做网站卖机器能看所有网站的浏览器
  • 浙江网站建设方案广西网络干部学院官网
  • 网站配色 原则专业的网站制作公司
  • 京东联盟怎么做CMS网站wordpress调用标签大全
  • 做微网站需要域名吗网站的建设与维护
  • 西宁网站制作做旅游产品的网站有哪些
  • 做响应网站的素材网站有哪些什么是网络营销网络营销的特点有哪些
  • 网站制作的前期主要是做好什么工作彩虹网站建设
  • 最新的网站搭建工具汕尾网站网站建设
  • 南阳做网站公司哪家好国外网站流量查询
  • 外贸建站系统源码保山市住房和城乡建设厅网站
  • 网站设置搜索关键字江苏交通建设监理协会网站
  • 网站建设毕业设计说明书word文档12个优秀的平面设计素材网站
  • 企业网站的作用和意义外包员工强制辞退找谁赔偿
  • 酷站海洛重庆合川企业网站建设
  • 自己的域名搭建网站分类目录seo wordpress
  • 做网站需要神虚拟主机如何搭建网站
  • 珠海专业做网站制作专业广州网站建设
  • 中国建设行业信息网站针对人群不同 网站做细分
  • 网站建设幽默做单机游戏破解的网站
  • 网站怎么进入网站建设软件哪个最好
  • 做传销网站的程序员犯法吗网址导航大全
  • 网站推广名片如何注册网站的名字
  • 凡科网建站系统源码vs2012网站开发
  • 台州品牌网站建设市场营销策略论文参考文献
  • 云南智能建站百度指数对比