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

怎么看网站是asp还是php湘潭自适应网站建设 磐石网络

怎么看网站是asp还是php,湘潭自适应网站建设 磐石网络,做网站几个步骤,网站如何建设数据库文章目录 mock 测试unittest.mockMock类MagicMock类patch装饰器create_autospec函数断言的方法 pytest-mock 使用 mock 测试 在单元测试时#xff0c;有些数据需要依赖其他服务或者不好获取到#xff0c;此时需要使用mock来模拟对应的函数、对象等。 mock模拟数据的python… 文章目录 mock 测试unittest.mockMock类MagicMock类patch装饰器create_autospec函数断言的方法 pytest-mock 使用 mock 测试 在单元测试时有些数据需要依赖其他服务或者不好获取到此时需要使用mock来模拟对应的函数、对象等。   mock模拟数据的python框架 unittest.mock 标准模块有基于此的mock扩展包 faker 生成假数据 pytest-mock, 扩展模块 mock 作用 解决web开发中后端接口不存在时使用mock模拟数据返回依赖第三方接口时 mock模拟返回demo 演示效果   unittest.mock Mock类 核心类Mock基类可以创建属性、方法并存储如何被调用Mock实例化的参数 spec, 字符串列表或者对象dir获取对象的属性名称表示该Mock对象可以访问的属性访问不在列表中的属性时报错AttributeError;spec_set属于spec的严格变体使用方法类似side_effect, 调用Mock对象时执行的函数常用引发异常或者动态改变函数的返回值; 如果是可迭代对象则每次调用Mock对象都获取一个值return_value, 指定调用Mock对象的返回值wraps包裹的函数Mock对象的调用实际是包裹函数的调用并返回类似side_effectname, Mock对象的名称 使用方法 from unittest.mock import Mock class Lauf:def __init__(self, name, age):self.name nameself.age age# 创建对象 lauf Lauf(jack, 25) mock_obj Mock(speclauf) # mock对象具有lauf的属性、方法可以进行属性赋值 mock_obj.name lili# side_effect 用于引发异常 mock Mock(side_effectKeyError(foo)) mock() # 抛出异常 KeyError: foo mock.side_effect 可重新赋值# side_effect 用于执行函数动作 m4 Mock(side_effectlambda: print(执行函数)) m4() 执行函数 m4.mock_calls # 查看调用记录# return_value 直接指定返回值 In [58]: m5 Mock(return_valuejack) In [59]: m5() Out[59]: jack# wraps 包裹 In [67]: def func():...: print(func is running...)...: In [68]: m8 Mock(wrapsfunc) In [69]: m8() func is running... MagicMock类 MagicMock是 Mock的子类默认实现了大部分魔法方法简单使用 from unittest.mock import MagicMockclass Lauf:def __init__(self, name, age):self.name nameself.age age# 模拟方法 lauf.run_method MagicMock(return_valuerunning...)lauf.run_method(3,4,5,keyvalue) # 参数随意 running...# 断言 lauf.run_method.assert_called_once_with(3,4,5,keyvalue) # 带着这些参数被调用一次 patch装饰器 模拟xxx得到一个MagicMock对象使用 from unittest.mock import patchIn [83]: patch(os.path)...: def func(a): # 模拟os.path得到一个MagicMock对象传给函数...: print(a, a is os.path)...: ...: In [84]: func() MagicMock namepath id1620313178896 True# 依次模拟得到多个MagicMock对象 patch(requests.post) patch(requests.get) def func(get_mock, post_mock):print(get_mock is requests.get) # Trueprint(post_mock is requests.post) # True# 模拟类的对象 # 为类的对象的属性、方法必须该类中存在 创建一个MagicMock对象 with patch.object(Lauf, method, return_valueNone) as mock_method:lauf Lauf(a, 10)lauf.method(1, 2, 3)# 断言 mock_method.assert_called_once_with(1, 2, 3)# 上下文内有效 foo {key: value} original foo.copy() with patch.dict(foo, {newkey: newvalue}, clearTrue):assert foo {newkey: newvalue} # 测试时foo变为新字典# 测试结束foo恢复 assert foo original# 操作魔法方法 m MagicMock() m.__str__.return_value jack str(m) # 返回jackm.__str__ MagicMock(return_valuexxx)create_autospec函数 创建mock对象并确保与模拟的函数、对象具有相同的接口patch(autospecTrue) In [98]: def func(a,b,c):...: print(a,b,c)...: # 模拟函数并确保参数相同 In [99]: mock_func create_autospec(func, return_value3)In [100]: mock_func(1,2,3) Out[100]: 3# 模拟对象并确保相同的接口 In [106]: mock_obj create_autospec(Lauf(jack, 23))In [107]: mock_obj.name Out[107]: NonCallableMagicMock namemock.name specstr id1620277710272 mock_obj.name lili # 赋值In [108]: mock_obj.age Out[108]: NonCallableMagicMock namemock.age specint id1620302996240 断言的方法 assert_called() Assert that the mock was called at least once. mock Mock() # 调用mock mock() # 断言 mock.assert_called()# 返回一个新的Mock对象 mock.method() Mock namemock.method() id... # mock.xx 随即返回一个新的 mock对象新的mock对象断言 mock.method .assert_called()assert_called_once() Assert that the mock was called exactly once. mock Mock() mock.assert_called_once() # 仅仅调用一次多/没调用 均异常assert_called_with(*args, **kwargs) This method is a convenient way of asserting that the last call has been made in a particular way: mock Mock() mock.method(1, 2, 3, testwow) mock.method.assert_called_with(1, 2, 3, testwow)assert_called_once_with(*args, **kwargs) Assert that the mock was called exactly once and that call was with the specified arguments. mock Mock(return_valueNone) mock(foo, barbaz) mock.assert_called_once_with(foo, barbaz)mock(other, barvalues) mock.assert_called_once_with(other, barvalues) Traceback (most recent call last):... AssertionError: Expected mock to be called once. Called 2 times. assert_any_call(*args, **kwargs) assert the mock has been called with the specified arguments. mock Mock(return_valueNone) mock(1, 2, argthing) mock(some, thing, else) mock.assert_any_call(1, 2, argthing)pytest-mock 使用 安装 pip install pytest pytest-mock使用
http://www.hkea.cn/news/14291447/

相关文章:

  • 政务网站信息化建设情况汇报怎么做盗版电影网站吗
  • 比较好的网站建设品牌升级佛山做外贸网站如何
  • 做门户网站需要学什么软件公司招牌制作价格
  • 快速排名网站系统网站设计时多页面切换时什么控件
  • 襄阳网站建设营销wordpress主题绝对路径怎么修改
  • 餐饮美食网站模板源码上海网站建设制作微信
  • 做的好的营销型网站有哪些内容xiuno wordpress
  • 平面设计自学网站有哪些在线网站备份
  • 网站底部悬浮广告代码怎么做营销推广方案
  • 免费最新如何建设网站教程视频免费虚拟主机代理
  • 网站开发设计的阶段wordpress 顶踩
  • 手机公司网站建设比较好的学习网站 现状
  • 平阴县建设局网站域名备案完成了怎么建设网站
  • 海口建站怎么样在百度上免费推广
  • 购物网站排行榜网店网站技术方案
  • 广丰做网站公司彩网站开发
  • 怎样弄网站的导航栏软件开发文档的需求分析
  • 奉节网站建设做外贸一般用哪些网站好
  • 免费网站空间有什么用开网店需要多少资金
  • 鞍山市信息网站苏州十大广告公司
  • 网站搜索推广方案论文360浏览器怎么加入可信站点
  • 浙江建设网一官方网站安卓系统开发公司
  • 黄骅网站建设价格h5免费制作平台火蚁邀请函
  • 安庆网站建设服务网wordpress淘客分销
  • 开个免费的网站多少钱如何做网站公司名seo
  • 北京专业网站制作流程优势wordpress维护模式
  • 后台给网站做关键字wordpress会员互动
  • 学校网站制作html网站视频下载软件
  • 织梦 图片网站为什么网站生成后不显示
  • 建设企业功能网站注册公司怎么自己核名