一、为什么要mock

工作中遇到以下问题,我们可以使用mock解决:

  1. 无法控制第三方系统某接口的返回,返回的数据不满足要求
  2. 某依赖系统还未开发完成,就需要对被测系统进行测试
  3. 有些系统不支持重复请求,或有访问访问频次限制。如不可重复支付,获取敏感信息的接口访问频次不可高于xx等
  4. 其他情况

二、mock的实现原理

一般测试场景中,都是对接口的返回数据进行mock。以http协议为例,

  1. 最简单的mock,可在mock服务器上保存一份mock数据,并给此mock数据生成对应的url。将要访问的第三方url,以mock url代替,这样即可满足最基本的mock需求。可在此处了解到更多关于此种mock的信息。
  2. 使用proxy实现mock。wiremock/anymock等开源工具可提供此实现。好处在于:
    • 可查看请求及回应,方便获取mock数据的原型
    • 匹配到规则的请求会返回mock数据,未匹配到的请求访问原服务
    • 无需修改服务配置,无需重启服务

最近有接触到一些函数级别的mock。比如,mockito这个工具,即可实现不发出请求,即可获得mock数据的功能。

三、特殊场景下对mock数据的处理

有些场景对于mock来说较为特殊。比如,某接口对数据有加解密操作,这使得mock的数据无法直观理解,无法有效率地调整mock数据的内容以完成测试目标。另外,有些rpc协议不具通用性,通用的mock平台来支持此类协议成本太高。所以,我们的需要对我们的方法做一些变通。

1. 对于接口加解密数据,我们开发一个函数,来支持mock数据的加解密。手工测试时,该函数可表现为mock平台的插件;接口自动化时可表现为处理mock数据的函数。也可以采用方法2.

2. 直接将这个函数的逻辑整体mock掉。开发某功能:当程序运行到指定的方法时,不继续运行函数体,而是发送一个http请求到mock平台,将mock数据return出去。

转载于:https://www.cnblogs.com/sunada2005/p/7727585.html

mock以及特殊场景下对mock数据的处理相关推荐

  1. 王捷:边缘计算--物联网场景下的七大数据合规挑战

    内容来源:2022年8月6日,由边缘计算社区主办的全球边缘计算大会·深圳站圆满落幕.会上,垦丁(广州)律师事务所执行主任王捷受邀发表了主题为<边缘计算--物联网场景下的七大数据合规挑战>的 ...

  2. 个人金融借贷场景下,大数据风控的行业分析及应用分析

    一.大数据风控是什么? 大数据风控按照通俗的概念解析:通过运用大数据构建模型的方法对借款人进行风险控制和风险提示. 这句话涵盖大数据风控必要的4个要素: 1. 原材料:大数据 2. 实现方式:技术模型 ...

  3. 高并发场景下对热点数据的处理

    什么是热点数据 设想如下场景: 1.有一条现金账号(大商户在mysql上的一条记录),同时有数十万人在往上面转账,账务数据是必须同步持久化的,这种情况下很难做到所有请求同步update这条记录. 2. ...

  4. 姨搜-信贷场景下全流程数据风控体系==宜信==候松==金融科技行业动态系列2

    图一 画外音:金融科技公司的技术部分,这个有别于传统金融机构 图二 画外音:可观查到并记录下来的都是数据,这样的定义值得深入思考 图三 画外音:相关性未必比因果关系更重要 图四 画外音:重要信息 图五 ...

  5. 【行业报告】信贷场景下全流程数据风控体系——宜信

    原创:http://kakazai.cn https://blog.csdn.net/yeziand01/article/details/80623117 感谢博主分享

  6. 指数级暴增、复杂场景下,揭秘百度云原生湖仓架构等系列数据产品

    9月28日,百度智能云2021"云智技术论坛"智能大数据专场在上海举办.本次会议以"云智一体,让大数据发挥大价值"为主题,百度副总裁谢广军携百度多位资深技术专家 ...

  7. 开源实践 | OceanBase 在红象云腾大数据场景下的实践与思考

    本文将介绍 OceanBase 在红象云腾大数据场景下的落地实践与思考,希望帮助正在探索 OceanBase 的企业用户快速实现 OceanBase 选型与落地. 作者:童小军 红象云腾 (REDOO ...

  8. 高并发场景下,到底先更新缓存还是先更新数据库?

    在大型系统中,为了减少数据库压力通常会引入缓存机制,一旦引入缓存又很容易造成缓存和数据库数据不一致,导致用户看到的是旧数据. 为了减少数据不一致的情况,更新缓存和数据库的机制显得尤为重要,接下来带领大 ...

  9. 互金场景下竞价广告投放简介

    目录 引言 实时竞价广告是什么 竞价广告的最优投放策略是什么 分层出价之如何进行人群分层 如何确定最优出价 oCPXoCPXoCPX下的最优出价 结语 引言 自2014年井喷式爆发以来,互金行业经历了 ...

最新文章

  1. nginx实现对chunk请求支持
  2. wget指定目录下载以及其它的使用方式
  3. java 高级数据类型_java 数据类型(上):分类
  4. 【机器学习】关联规则代码练习
  5. 接口文档神器Swagger(下篇)
  6. 使用WildFly 8.2.0.Final,Primefaces 5.1和MySQL 5的JDBC领域和基于表单的身份验证
  7. 关于fetch api这点事
  8. 精通Android自定义View(十一)绘制篇Canvas分析之裁剪
  9. linux系统编程shell,Linux系统中的 Shell 编程
  10. Android 开发之 ---- 底层驱动开发(一)
  11. Go开源项目 - gorp使用方法
  12. python输出特征相关矩阵_两个特征矩阵的有效成对相关
  13. PMP试题 | 每日一练,快速提分 9.8
  14. 基于GD库的php验证码类(支持中英文字体、背景、干扰点线、扭曲…….)
  15. java开源规则引擎比较_常用规则引擎比较分析
  16. 互联网请回答2020
  17. 电脑上找不到蓝牙图标,怎么打开蓝牙,三种方法教你打开蓝牙。
  18. 红米9A android版本,红米9a和红米9哪一款手机好?有什么区别存在?
  19. uva 10827 Maximum sum on a torus
  20. 康定游记-宝宝征服4300米海拔折多山

热门文章

  1. c语言常用符号与英文,C语言常用符号与英文(7页)-原创力文档
  2. zzuli 2525: 咕咕的搜索序列
  3. HDU Problem - 1455 Sticks
  4. 解决ubuntu中连接mysql时报错:Access denied for user ‘root‘@‘localhost‘
  5. 自己在windows下第一次安装pygame成功的经历
  6. [C++] this指针
  7. java算法----0至9这十个数组成两个三位数和一个四位数
  8. 数据库中的DML,DCL,DDL分别是那些操作?
  9. [Apple开发者帐户帮助]三、创建证书(3)创建企业分发证书
  10. linux查看和修改PATH环境变量的方法