公司网站如何被百度收录深圳本地专业网站设计

张小明 2025/12/30 21:51:30
公司网站如何被百度收录,深圳本地专业网站设计,做网站设计好的公司,wordpress c值播放1. 背景 在实际产品开发过程中#xff0c;某个服务或前端依赖一个服务接口#xff0c;该接口可能依赖多个底层服务或模块#xff0c;或第三方接口#xff0c;比如说服务 A 依赖服务B#xff0c;服务B又依赖服务 C 这种依赖的问题会导致原本的需求目的是要验证服务A…1. 背景在实际产品开发过程中某个服务或前端依赖一个服务接口该接口可能依赖多个底层服务或模块或第三方接口比如说服务 A 依赖服务B服务B又依赖服务 C这种依赖的问题会导致原本的需求目的是要验证服务A但由于所依赖的服务B或者服务C不稳定或者未开发完成导致工作无法正常开展。那作为测试工程师面对这样的情形我们该怎么办呢解决这类问题的核心的思路引入依赖服务替身更通俗的叫法引入Mock服务。今天就结合unittest框架给大家分享一些关于Mock的一些常见使用。2.Mock是什么可能还有些读者之前并没有接触过Mock不清楚Mock是个啥。Mock简单来理解就是在测试过程中对于某些不容易构造或者不容易获取的对象用一个虚拟的对象来创建以便测试。而这个虚拟的对象就是mock对象。mock对象就是真实对象在调试期间的代替品。有时也将Mock服务称之为测试服务替身或者测试服务档板。3. Mock能做什么就Mock功能而言本身适用场景较多但在实际项目中引入Mock常用来解决的几类概括起来主要有接口间的相互依赖单元测试第三方接口调用1.前后端联调比如你是一个前端页面开发现在需要开发一个功能下一个订单支付页面的接口根据支付结果支付成功展示支付成功页支付失败展示支付失败页。要完成此功能你需要调用后端的接口根据返回给你的结果来展示不同的页面。此时后端接口还没开发好作为一个前端开发总不能等别人开发好了你再开发那你只有加班的命了。为了同步开发完成任务此时你可以根据接口文档的规定把接口的地址和入参传过去然后自己mock接口的不同返回界面来完成前端的开发任务。2.单元测试由于单元测试仅针对当前单元进行测试这就要求所有的内部或者外部依赖都应该是稳定的采用mock的方法模拟跟本单元依赖的其他单元可以将测试重点放在当前单元功能排除外界因素干扰提升测试精准度。3.第三方接口依赖在做接口自动化的时候有时候需要调用第三方的接口但是别人公司的接口服务不受你的控制有可能别人提供的测试环境今天服务给你开着别人就关掉了给自动化接口测试带来很多的麻烦此时就可以通过mock来模拟接口的返回数据比如模拟各种第三方异常时的返回。4. Mock实现方式Mock虽然是作为依赖服务的替身但并不需要原原本本去构造实现一个完整的服务逻辑比如现在有一个A服务依赖B服务需要通过Mock来替换B服务做一个假的B服务替身。那么我们做一个 Mock 服务其实就是做了一个简单的服务 B它不需要实现原有服务 B 负载的处理逻辑只要能按服务A需要服务B返回的处理逻辑给出对应返回数据就可以了。目前常见服务或接口协议主要两种一种是RPC另一种是HTTP/HTTPSmock原理都类似要么是修改原服务地址为Mock服务地址要么是拦截原服务的请求Mock返回值总之就是构造一个假的服务替代原有服务。5. Mock市面上常见的解决方案如果你不想自己动手构建一套Mock解决方案市面上也提供了很多现存的Mock方案。常用的有EasyMock、Mockito、WireMock、JMockit、Mock、Moco。如果你团队技术基础相对比较薄弱推荐你看看Moco这个方案官网如下https://github.com/dreamhead/moco/接下来重点介绍Python系下Mock方案的使用。6. Python下unittest.mock使用unittest.mock是一个用于在Python中进行单元测试的库顾名思义这个库的主要功能是模拟一些东西。它的主要功能是使用mock对象替代掉指定的Python对象以达到模拟对象的行为。需要注意的是在Python2.x版本中Mock需要单独安装pip install -U mock从Python 3.3以后的版本mock已经合并到unittest模块中了是unittest单元测试的一部分直接导入过来就行from unittest import mock官方文档https://docs.python.org/dev/library/unittest.mock.htmlunittest.mock模块中最常用的是Mock类。Mock类库是一个专门用于在unittest过程中制作伪造和修改篡改测试对象的类库避免这些对象在单元测试过程中依赖外部资源网络资源数据库连接其它服务以及耗时过长等案例如下场景支付是一个独立的接口由其它开发提供根据支付的接口返回状态去显示失败还是成功这个是你需要实现的功能代码存放在pay.py脚本中:# !/usr/bin/python3 # -*- coding: utf-8 -*- # Author : Mike Zhou # Email : 111 # File : pay.py def zhifu(): 假设这里是一个支付的功能,未开发完 支付成功返回{result: success, msg:支付成功} 支付失败返回{result: fail, msg:余额不足} pass def zhifu_statues(): 根据支付的结果success or fail判断跳转到对应页面 result zhifu() try: if result[result] success: return 支付成功 elif result[result] fail: return 支付失败 else: return 未知错误异常 except: return Error, 服务端返回异常!在zhifu_statues方法中依赖了zhifu方法但由于zhifu支付方法的接口是由另外一个同事开发正常情况下你同事开发的进度你是无法控制的需要等他开发完了你才能进行联调你所负责的zhifu_statues接口因此我们可以通过引入Mock来解决这个问题。引入mock后单元测试用例代码# !/usr/bin/python3 # -*- coding: utf-8 -*- # Author : Mike Zhou # Email : 111 import unittest from unittest import mock import pay class TestZhifuStatues(unittest.TestCase): 单元测试用例 def test_01(self): 测试支付成功场景 # mock一个支付成功的数据 pay.zhifu mock.Mock(return_value{result: success, msg:支付成功}) # 根据支付结果测试页面跳转 statues pay.zhifu_statues() print(statues) self.assertEqual(statues, 支付成功) def test_02(self): 测试支付失败场景 # mock一个支付失败的数据 pay.zhifu mock.Mock(return_value{result: fail, msg: 余额不足}) # 根据支付结果测试页面跳转 statues pay.zhifu_statues() print(statues) self.assertEqual(statues, 支付失败) if __name__ __main__: unittest.main()上述代码引入Mock后我们就可以顺利完成对支付成功和支付异常两类场景的验证工作。实际你可以补充更多mock中还有另一种实现方式通过patch装饰器的使用,patch作为函数装饰器为您创建模拟并将其传递到装饰函数。用mock.patch实现如下# !/usr/bin/python3 # -*- coding: utf-8 -*- # Author : Mike Zhou # Email : 111 import unittest from unittest import mock import pay class TestZhifuStatues(unittest.TestCase): 单元测试用例 mock.patch(pay.zhifu) def test_001(self, mock_zhifu): 测试支付成功场景 # 方法一mock一个支付成功的数据 # pay.zhifu mock.Mock(return_value{result: success, msg:支付成功}) # print(pay.zhifu()) # 方法二mock.path装饰器模拟返回结果 mock_zhifu.return_value {result: success, msg:支付成功} # # 根据支付结果测试页面跳转 statues pay.zhifu_statues() print(statues) self.assertEqual(statues, 支付成功) mock.patch(pay.zhifu) def test_002(self, mock_zhifu): 测试支付失败场景 # mock一个支付失败的数据 mock_zhifu.return_value {result: fail, msg: 余额不足} # 根据支付结果测试页面跳转 statues pay.zhifu_statues() self.assertEqual(statues, 支付失败) if __name__ __main__: unittest.main()还有更多的使用技巧篇符有限今天就先分享到这如果觉得有用欢迎关注最后作为一位过来人也是希望大家少走一些弯路在这里我给大家分享一些软件测试的学习资料和我花了3个月整理的软件测试自学全栈这些资料希望能给你前进的路上带来帮助。​视频文档获取方式这份文档和视频资料对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你以上均可以分享点下方小卡片即可自行领取。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

新公司网站建设分录宁德seo

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

张小明 2025/12/30 21:46:53 网站建设

合肥集团网站建设哪个好网站的最近浏览 怎么做

第一章:你还在人工查库存?在现代企业运营中,库存管理直接影响着供应链效率与客户满意度。然而,仍有不少团队依赖Excel表格或手动盘点来跟踪库存,这种方式不仅耗时,还极易出错。自动化库存查询系统已成为提升…

张小明 2025/12/30 21:44:48 网站建设

网站域名注册步骤网络规划设计师属于什么职称

LRU(Least Recently Used,最近最少使用)缓存淘汰策略的核心是:当缓存容量满时,淘汰最久未被使用的元素。在 Java 中,最优实现方式是结合 HashMap(快速查找)和 LinkedList/LinkedHash…

张小明 2025/12/30 21:42:36 网站建设

360网站建设的目标是什么做网站 创业

想集成短信服务却被密钥配置难住? 阿里云 AccessKey 找不到、腾讯云 SDK AppID 填错、签名审核通不过? JNPF 短信服务功能直接简化对接流程 —— 支持阿里云、腾讯云两大主流渠道,必填参数清晰标注,密钥明暗文自由切换&#xf…

张小明 2025/12/30 21:40:28 网站建设

网站设计规划书例子网站推广优化外链

第一章:PHP 8.6性能监控面板概述PHP 8.6 引入了全新的内置性能监控面板,旨在为开发者提供实时、细粒度的运行时洞察。该面板集成于 Zend 引擎核心,无需额外安装扩展即可启用,适用于开发与生产环境的性能调优。核心功能 实时展示请…

张小明 2025/12/30 21:38:26 网站建设

绍兴做网站多少钱网站 建设 语言

如何打造永不充电的智能日历?ESP32墨水屏项目全解析 【免费下载链接】portal_calendar A Portal themed e-ink calendar based on the ESP32 platform 项目地址: https://gitcode.com/gh_mirrors/po/portal_calendar 你是否曾经梦想过拥有一款永远不需要充电…

张小明 2025/12/30 21:36:23 网站建设