\">大家好 , 我是Z哥 。
我是一个着迷于产品和运营的技术人 , 乐于跨界的终身学习者 。 欢迎关注我哟~
每周五12点 按时送达~
我的第「217」篇原创敬上
最近在工作中学习到一个我觉得很有价值的小工具 , 在这里与大家分享一下 。
这个小工具需要自己稍作开发 , 并不存在什么第三方的现成工具供你使用 , 因为这个工具的核心关键是「数据」 , 而「数据」这个东西对于不同的项目天然是不同的 。
可能有的小伙伴已经猜到了 , 我今天要聊的就是一个mock工具(暂且叫这个名字吧 , 它的能力其实不仅仅只是mock数据) 。
多团队协作中 , 很多功能的实现需要依赖于其它的子系统 。 这不但影响开发进度 , 还会导致测试工作开展不太顺利 。 这个问题在涉及多团队协作的分布式系统中尤其突出 。
如果每个子系统都能够内置一个mock工具(模块) , 通过数据的自动生成 , 导入和导出 , 可以灵活地在不同环境上快速地让系统run起来 , 哪怕自己还没有真正地完成内部的业务逻辑代码编写 。
可能你会觉得说 , 现在很多工具都支持根据定义的API自动生成mock数据啊 , postman、apifox、yapi等等 , 为啥还要自己搞呢 。
最大的价值在于以下几点:
- 这种方式支持在不同环境提供一份相同的数据(如唯一id等等) , 便于对相关的上下游系统屏蔽掉环境不同的影响 。 而使用上面提到的工具很难实现这点 。
- 【芯片|减少连调、高效集成,试试这个神器】导入和导出功能可以作为在没有打通上下游系统之前的手动关联上下游系统的一种方式 。
- 自动生成的数据可以针对多个API进行共享使用 , 以模拟“上下文”的感觉 , 让mock这件事变得更加贴近真实 , 而不是很假 , 不管输入的参数是什么 , 都只能固定返回某个数据 。
- 基于上面第3点 , 我们可以再通过某种语法 , 串联起多个API的调用 , 快速验证mock出来的数据是否符合预期 。 并且这个串联调用的case可以保存下来 , 在真实的业务逻辑实现后再运行一下 , 快速验证自己的真实实现是不是存在什么bug 。 相当于同时编写了一个针对该项目定制的自动化测试工具 。
- 基于上面第4点 , 可以不断地丰富case , 以提高case所覆盖的场景 。 这不但丰富了数据样本 , 也提高了使用该工具进行自动化测试的效果 。
- 自动生成mock数据
- 清除数据
- 导入数据
- 导出数据
- mock开关
- mock数据的条件匹配
- mock外部依赖数据
/01 自动生成mock数据/自动生成mock数据是这个工具的最核心功能 。 但在这之前还有一件更加重要的事情要做 , 就是:需要提前确定对外提供
当然 , 生成的数据必须要符合契约定义中的标准 。 比如 ,
- 字段的格式 。 int32还是int64?字符串的格式等等 。
- 入参和出参的相关性 , 比如输入参数中传入的单据号 , 应该与输出参数中的单据号保持一致 , 以体现输入和输出之间的相关性 。
- 芯片|上市仅4个月,跌价1000元,微云台主摄+6nm芯片+4400mAh
- iPhone|iphone14价格被曝!“胶囊”挖孔屏+三星4nm芯片,售价或5999起
- 信息科学技术学院|瞧不起中国芯?芯片女神出手,30岁斩获国际大奖,让美国哑口无言
- 400亿芯片交易接近尾声,英伟达、ARM表明态度,禁止收购后
- 芯片|据称索尼和台积电计划在日本投资70亿美元建芯片工厂
- 体验首款Linux消费级平板,原来芯片和系统全是国产
- 算力|不靠显卡!NVIDIA在中国焕发第二春:自动驾驶芯片被车厂爆买
- 芯片|腾讯立功了,国产芯片迎来好消息,重要程度不亚于华为鸿蒙
- 华为上架新机,搭载麒麟芯片,5000mAh仅售1399元
- 美国|“绝不能让中国芯片供应自主计划得逞!”美国这回彻底不装了