另外 , 生成的mock数据中如果存在一些依赖于外部系统的唯一ID , 允许传入一个ID生成器的hook , 确保生成的Mock数据中的唯一ID在指定范围内 。
然后 , 生成的mock数据需要持久化到硬盘上 , 以提供长期使用 。
最后 , 可以指定生成某个API相关的mock数据 , 而非全部数据 。
/02 清除数据/可以通过清除数据 , 重置mock数据回到初始状态 , 以清理不符合当前API标准的垃圾数据 。 实现这个功能主要有两个点:
- 清除数据时需要考虑数据间的关联关系 , 比如清除单据类数据时 , 也应当清除与该单据相关的明细数据 。
- 可以指定清除某个指定API的mock数据 , 而非全部数据 。
- 可以导出指定API的mock数据 , 而非全部数据 。
- 导出的数据建议为csv或者excel格式 , 便于二次编辑 。
导入数据时 , 需要进行数据合法性验证 。 如果数据不合法 , 需要进行处理 , 有两种情况:
- 缺失的数据 , 如果可以自动填充缺省值 , 则自动修正 。
- 非法数据或者无法自动填充的缺失数据 , 进行相应的提示 。
/06 mock数据的条件匹配/可以对mock数据的返回内容进行「条件匹配」配置 , 以满足两种能力:
1. 限定返回的数据范围 。
2. 实现返回的出参一定与入参存在相关性 。
/07 mock外部依赖数据/可以将以上能力运用在所依赖的外部数据上 , 以提供系统「无依赖独立运行」的能力 。
具备这个能力后 , 你所负责系统的测试工作可以不用等待所依赖的外部系统全部都准备就绪后才能开展 , 可以独立进行 。
好了 , 就这么多 。 可能有的小伙伴会觉得 , 要实现这么多能力 , 得多大工作量啊 。
我觉得这个问题不能这么考虑 , 我们还要考虑这个工具可以节省多少时间 。 节约的这个时间不仅仅是你自己做自测的时间 , 还有团队中其他人的时间 。 而且这个工具可以长期反复使用 , 时间拉得越长 , 它所发挥的价值也越大 。
惯例总结一下 。
这篇呢 , Z哥和你分享了一个我认为很有价值的工具 , 一个需要我们自行开发的mock工具 , 它可以提升整个团队的长期效能 。
这个工具需要实现以下7个能力:
- 自动生成mock数据
- 清除数据
- 导入数据
- 导出数据
- mock开关
- mock数据的条件匹配
- mock外部依赖数据
不知道你是如何看待类似的mock工具的?欢迎和大家一起聊聊你的看法~
推荐阅读:
- 程序员必备 , 《新老系统切换宝典》
- golang使用3周总结
- 芯片|上市仅4个月,跌价1000元,微云台主摄+6nm芯片+4400mAh
- iPhone|iphone14价格被曝!“胶囊”挖孔屏+三星4nm芯片,售价或5999起
- 信息科学技术学院|瞧不起中国芯?芯片女神出手,30岁斩获国际大奖,让美国哑口无言
- 400亿芯片交易接近尾声,英伟达、ARM表明态度,禁止收购后
- 芯片|据称索尼和台积电计划在日本投资70亿美元建芯片工厂
- 体验首款Linux消费级平板,原来芯片和系统全是国产
- 算力|不靠显卡!NVIDIA在中国焕发第二春:自动驾驶芯片被车厂爆买
- 芯片|腾讯立功了,国产芯片迎来好消息,重要程度不亚于华为鸿蒙
- 华为上架新机,搭载麒麟芯片,5000mAh仅售1399元
- 美国|“绝不能让中国芯片供应自主计划得逞!”美国这回彻底不装了